формы — Решатель триномиального уравнения в переполнении стека

У меня есть лабораторный проект, который требует решения простого полиномиального уравнения (х ^ 2 + Ьx + c) с a, b, c, заданным в форме. Я реализовал этот код, но кажется, что даже HTML-скрипт не работает. Мне действительно нужна ваша помощь, потому что я провел почти день, пытаясь найти ошибку, но я не могу найти ничего плохого.

<!DOCTYPE html>
<html>
<meta charset="utf-8"/>
<head>
<title>
Exercise 2
</title>
</head>
<body>
<? if ((!isset($_POST['submit'])))
{?>
<h2>Please fill the trinomial coefficients a*x^2+b*x+c=0</h2> <br>
<form method="post">
a= <input type="text" name="a" /> <br>
b= <input type="text" name="b" /> <br>
c= <input type="text" name="c" /> <br>
<input type="submit" value="Solve the equation" />
</form>
<?php
}
else
{
$a=$_POST["a"];
$b=$_POST["b"];
$c=$_POST["c"];
if ($a!=0)
{
$d=pow($b,2)-(4*a*c);
if ($d>=0)
{
$d=sqrt($d);
x1=(-$b-$d)/(2*$a);
x2=(-$b+$d)/(2*$a);
if (x1=x2)
{
echo ("1 solution: ". $x1);
}
else
{
echo ("Solutions x1 and x2 " .$x1. ", ". $x2);
}
}
else
{
$d=sqrt(-$d);
x1=-b/(2*$a);
x2=-$d;
x3=$d;
echo ("The trinomial has two complex solutions x1 and x2, which are: x1=". x1. " + ". x2. "*i and x2=". x1. " + ". x3. "*i");
}
}
else
{
echo ("This is not a trinomial");
}
}
?>
</body>
</html>

0

Решение

Это работает:

<!DOCTYPE html>
<html>
<meta charset="utf-8"/>
<head>
<title>
Exercise 2
</title>
</head>
<body>
<?php if ((!isset($_POST['submit'])))
{?>
<h2>Please fill the trinomial coefficients a*x^2+b*x+c=0</h2> <br>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
a= <input type="text" name="a" /> <br>
b= <input type="text" name="b" /> <br>
c= <input type="text" name="c" /> <br>
<input type="submit" name="submit" value="Solve the equation" />
</form>
<?php
}
else
{

$a=$_POST["a"];
$b=$_POST["b"];
$c=$_POST["c"];
if ($a!=0)
{
$d=pow($b,2)-(4*$a*$c);
if ($d>=0)
{
$d=sqrt($d);
$x1=(-$b-$d)/(2*$a);
$x2=(-$b+$d)/(2*$a);
if ($x1==$x2)
{
echo ("1 solution: ". $x1);
}
else
{
echo ("Solutions x1 and x2 " .$x1. ", ". $x2);
}
}
else
{
$d=sqrt(-$d);
$x1=-$b/(2*$a);
$x2=-$d;
$x3=$d;
echo ("The trinomial has two complex solutions x1 and x2, which are: x1=". $x1. " + ". $x2. "*i and x2=". $x1. " + ". $x3. "*i");
}
}
else
{
echo ("This is not a trinomial");
}
}
?>
</body>
</html>
0

Другие решения

Исправлен некоторый код, сделан комментарий к одной вещи, на которую следует обратить внимание и очищенный код.

<?php
if(isset($_POST['submit'])){ // had a syntax error with an extra ( before isset also instead of checking if its not set just check if it is set makes it faster
//Submit has been pressed
$a=$_POST["a"];
$b=$_POST["b"];
$c=$_POST["c"];
if ($a!=0){
$d=pow($b,2)-(4*a*c);
if ($d>=0){
$d=sqrt($d);
$x1=(-$b-$d)/(2*$a);
$x2=(-$b+$d)/(2*$a);
if ($x1=$x2){
echo ("1 solution: ". $x1);
} else {
echo ("Solutions x1 and x2 " .$x1. ", ". $x2);
}
} else {
$d=sqrt(-$d);
$x1=-$b/(2*$a);
$x2=-$d;
$x3=$d;
echo ("The trinomial has two complex solutions x1 and x2, which are: x1=". x1. " + ". x2. "*i and x2=". x1. " + ". x3. "*i");
}
}
} else {
//Submit has not been pressed yet
}
?>
<html>
<meta charset="utf-8"/>
<head>
<title>
Exercise 2
</title>
</head>
<body>
<h2>Please fill the trinomial coefficients a*x^2+b*x+c=0</h2> <br>
<form method="post">
a= <input type="text" name="a" /> <br>
b= <input type="text" name="b" /> <br>
c= <input type="text" name="c" /> <br>
<input type="submit" value="Solve the equation" />
</form>
</body>
</html>
0

По вопросам рекламы [email protected]