PHP: <?php class Calc { function dodati($number1, $number2){ if (is_numeric($number1) and is_numeric($number2)) return $number1 + $number2; else return "Vvedit chislo";} function minus($number1, $number2){ if (is_numeric($number1) and is_numeric($number2)) return $number1 - $number2; else return "Vvedit chislo";} function dilennia($number1, $number2){ if (is_numeric($number1) and is_numeric($number2)) return $number1 / $number2; else return "Vvedit chislo";} function dilenniaMod($number1, $number2){ if (is_numeric($number1) and is_numeric($number2)) { return $number1 % $number2; else return "Vvedit chislo";} function koren($number1){ if ($number1 <= 0 or !is_numeric($number1)) echo "Число не підходить"; else return sqrt($number1);} function stepin($number1, $number2){ if (is_numeric($number1) and is_numeric($number2)) { return pow($number1, $number2); else return "Vvedit chislo";}} <form action="index.php" method="post"> <input type="text" name="number1" placeholder="number1"> <input type="text" name="operator" placeholder="operator"> <input type="text" name="number2" placeholder="number2"> <input type="submit" name="submit" value="ПОРАХУВАТИ"> </form> <? $CALC = new Calc; if ($_POST) { switch ($operator = $_POST['operator']) { case '+': echo $CALC->dodati($_POST['number1'],$_POST['number2']); break; case '-': echo $CALC->minus($_POST['number1'],$_POST['number2']); break; case '/': echo $CALC->dilennia($_POST['number1'],$_POST['number2']); break; case '%': echo $CALC->dilenniaMod($_POST['number1'],$_POST['number2']); break; case 'sqrt': echo $CALC->koren($_POST['number1'],$_POST['number2']); break; case '^': echo $CALC->stepin($_POST['number1'],$_POST['number2']); break; default: echo "Дана функція не існує"; break;}} ?>
Полный текст ошибки в студию. Никто не побежит прям себе вбивать это дело и отлаживать. --- Добавлено --- Стиль кода плох, равно как мешанина инглиша и транслита.
Пишет: Parse error: syntax error, unexpected T_ELSE in N:\home\localhost\www\lab3_4.php on line 6. Но я там напрочь ошибки не вижу.
Ты в скобочках фигурных запутался. Бывает. У тебя там, местами, нехватает их. --- Добавлено --- Вообще, надо взять за привычку, ставить их всегда после управляющих конструкций, даже однострочных.
Ну, мб не так разрулила. Вот тебе точно корректно разруленный вариант: PHP: <?php class Calc { function dodati($number1, $number2){ if (is_numeric($number1) and is_numeric($number2)){ return $number1 + $number2; } else{ return "Vvedit chislo"; } } function minus($number1, $number2){ if (is_numeric($number1) and is_numeric($number2)){ return $number1 - $number2; } else{ return "Vvedit chislo"; } } function dilennia($number1, $number2){ if (is_numeric($number1) and is_numeric($number2)){ return $number1 / $number2; } else{ return "Vvedit chislo"; } } function dilenniaMod($number1, $number2){ if (is_numeric($number1) and is_numeric($number2)) { return $number1 % $number2; } else{ return "Vvedit chislo"; } } function koren($number1){ if ($number1 <= 0 or !is_numeric($number1)){ echo "Число не підходить"; } else{ return sqrt($number1); } } function stepin($number1, $number2){ if (is_numeric($number1) and is_numeric($number2)) { return pow($number1, $number2); } else{ return "Vvedit chislo"; } } } ?> <form action="index.php" method="post"> <input type="text" name="number1" placeholder="number1"> <input type="text" name="operator" placeholder="operator"> <input type="text" name="number2" placeholder="number2"> <input type="submit" name="submit" value="ПОРАХУВАТИ"> </form> <?php $CALC = new Calc; if ($_POST) { switch ($operator = $_POST['operator']) { case '+':{ echo $CALC->dodati($_POST['number1'],$_POST['number2']); break; } case '-':{ echo $CALC->minus($_POST['number1'],$_POST['number2']); break; } case '/':{ echo $CALC->dilennia($_POST['number1'],$_POST['number2']); break; } case '%':{ echo $CALC->dilenniaMod($_POST['number1'],$_POST['number2']); break; } case 'sqrt':{ echo $CALC->koren($_POST['number1'],$_POST['number2']); break; } case '^':{ echo $CALC->stepin($_POST['number1'],$_POST['number2']); break; } default:{ echo "Дана функція не існує"; break; } } } То есть это вот код, который выполнится. Ну а если он работает не так, как ожидается, то тут уж что написано, то и работает, значит надо чуть посидеть и сделать так, чтобы начал работать так, как должен.
До кучи еще выкинь из кода транслит и перепиши на нормальный английский названия функций, препод меньше будет придираться.