PHP로 2 차 방정식 계산기를 작성했기 때문에 수학 문제가 대부분 있다고 생각했습니다. 그렇다고해도, 나는 이상한 결과를 얻고 있습니다. 프로그램은 $_GET
x , x 및 양식의 다른 숫자 값을 가정하고 x 값을 계산 한 다음 표시합니다. 페이지를 처음로드 할 때 프로그램에서 -10
을 출력하고 (양식에 아무 것도 입력하지 않은 경우에도) 입력 한 다음 아무 것도 입력하지 않습니다. 예를 들어, x = -9 and -2
을 출력해야하는 텍스트 필드에 1, 11 and 18
을 입력하면 프로그램에서 -22
을 출력합니다. 내가 도대체 뭘 잘못하고있는 겁니까? 당신은 두 개의 오류가PHP 2 차 방정식 계산기 이상한 결과
<body>
<h1>Quadratic equation calculator</h1>
<p>Type the values of your equation into the calculator to get the answer.</p>
<?php
$xsqrd;
$x;
$num;
$ans1 = null;
$ans2 = null;
$errdivzero = "The calculation could not be completed as it attempts to divide by zero.";
$errsqrtmin1 = "The calculation could not be completed as it attempts to find the square root of a negative number.";
$errnoent = "Please enter some values into the form.";
?>
<form name = "values" action = "calc.php" method = "get">
<input type = "text" name = "x2"><p>x<sup>2</sup></p>
<input type = "text" name = "x"><p>x</p>
<input type = "text" name = "num">
<input type = "submit">
</form>
<?php
if ((!empty($_GET['x2'])) && (!empty($_GET['x'])) && (!empty($_GET['num']))) {
$xsqrd = $_GET['x2'];
$x = $_GET['x'];
$num = $_GET['num'];
$ans1 = (-$x) + (sqrt(pow($x, 2) - (4 * $xsqrd * $num)))/(2 * $xsqrd);
$ans2 = (-$x) - (sqrt(pow($x, 2) - (4 * $xsqrd * $num)))/(2 * $xsqrd);
}
?>
<p>
<?php
if(($ans1==null) or ($ans2==null))
{
print $errnoent;
}
else
{
print "x = " + $ans1 + "," + $ans2;
}
?>
</p>
</body>
은 수학 비트 무슨 문제였다 연결 연산자
.
를 사용해야합니다 당신의 결과를 방법은 당신이 출력? 또한 작동하므로 고맙습니다. – imulsion
하지만'print'보다는'echo'를 사용해야하는 이유는 무엇입니까? – imulsion
내 의견을 편집하고 수학 비트를 추가했습니다. 'echo' 대'print'에 대해서, 나는 간단한 출력을 위해서'echo'를 선호합니다 (그리고 대부분의 사람들이합니다) –