За последние 24 часа нас посетил 22381 программист и 1144 робота. Сейчас ищут 716 программистов ...

Помогите найти ошибки в коде :С

Тема в разделе "Вопросы от блондинок", создана пользователем smallvolcano, 5 дек 2018.

  1. smallvolcano

    smallvolcano Новичок

    С нами с:
    5 дек 2018
    Сообщения:
    4
    Симпатии:
    0
    PHP:
    1. <?php
    2. class Calc
    3.         {    function dodati($number1, $number2){
    4.                 if (is_numeric($number1) and is_numeric($number2))
    5.                     return $number1 + $number2;
    6.                 else
    7.                     return "Vvedit chislo";}
    8.             function minus($number1, $number2){
    9.                 if (is_numeric($number1) and is_numeric($number2))
    10.                     return $number1 - $number2;
    11.                 else
    12.                     return "Vvedit chislo";}
    13.             function dilennia($number1, $number2){
    14.                 if (is_numeric($number1) and is_numeric($number2))
    15.                     return $number1 / $number2;
    16.                 else
    17.                     return "Vvedit chislo";}
    18.             function dilenniaMod($number1, $number2){
    19.                 if (is_numeric($number1) and is_numeric($number2)) {
    20.                     return $number1 % $number2;
    21.                 else
    22.                     return "Vvedit chislo";}
    23.             function koren($number1){
    24.                 if ($number1 <= 0 or !is_numeric($number1))
    25.                     echo "Число не підходить";
    26.                 else
    27.                     return sqrt($number1);}
    28.             function stepin($number1, $number2){
    29.                 if (is_numeric($number1) and is_numeric($number2)) {
    30.                     return pow($number1, $number2);
    31.                 else
    32.                     return "Vvedit chislo";}}    
    33.     <form action="index.php" method="post">
    34.         <input type="text" name="number1" placeholder="number1">
    35.         <input type="text" name="operator" placeholder="operator">
    36.         <input type="text" name="number2" placeholder="number2">
    37.         <input type="submit" name="submit" value="ПОРАХУВАТИ">
    38.     </form>
    39.     <?
    40.         $CALC = new Calc;
    41.         if ($_POST) {
    42.             switch ($operator = $_POST['operator']) {
    43.             case '+':
    44.             echo $CALC->dodati($_POST['number1'],$_POST['number2']);
    45.             break;
    46.             case '-':
    47.             echo $CALC->minus($_POST['number1'],$_POST['number2']);
    48.             break;
    49.             case '/':
    50.             echo $CALC->dilennia($_POST['number1'],$_POST['number2']);
    51.             break;
    52.             case '%':
    53.             echo $CALC->dilenniaMod($_POST['number1'],$_POST['number2']);
    54.             break;
    55.             case 'sqrt':
    56.             echo $CALC->koren($_POST['number1'],$_POST['number2']);
    57.             break;
    58.             case '^':
    59.             echo $CALC->stepin($_POST['number1'],$_POST['number2']);
    60.             break;                                    
    61.                 default:
    62.                     echo "Дана функція не існує";
    63.                     break;}}
    64.  
    65.  
    66. ?>
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Полный текст ошибки в студию. Никто не побежит прям себе вбивать это дело и отлаживать.
    --- Добавлено ---
    Стиль кода плох, равно как мешанина инглиша и транслита.
     
  3. smallvolcano

    smallvolcano Новичок

    С нами с:
    5 дек 2018
    Сообщения:
    4
    Симпатии:
    0
    Пишет: Parse error: syntax error, unexpected T_ELSE in N:\home\localhost\www\lab3_4.php on line 6. Но я там напрочь ошибки не вижу.
     
  4. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Ты в скобочках фигурных запутался. Бывает. У тебя там, местами, нехватает их.
    --- Добавлено ---
    Вообще, надо взять за привычку, ставить их всегда после управляющих конструкций, даже однострочных.
     
  5. smallvolcano

    smallvolcano Новичок

    С нами с:
    5 дек 2018
    Сообщения:
    4
    Симпатии:
    0
    Спасибо, толковый совет. Со скобочками разрулила, но всё равно не то :D
     
  6. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Ну, мб не так разрулила. Вот тебе точно корректно разруленный вариант:
    PHP:
    1. <?php
    2. class Calc
    3. {  
    4.     function dodati($number1, $number2){
    5.         if (is_numeric($number1) and is_numeric($number2)){
    6.             return $number1 + $number2;
    7.         }
    8.         else{
    9.             return "Vvedit chislo";
    10.         }
    11.     }
    12.            
    13.     function minus($number1, $number2){
    14.         if (is_numeric($number1) and is_numeric($number2)){
    15.             return $number1 - $number2;
    16.         }
    17.         else{
    18.             return "Vvedit chislo";
    19.         }
    20.     }
    21.    
    22.     function dilennia($number1, $number2){
    23.         if (is_numeric($number1) and is_numeric($number2)){
    24.             return $number1 / $number2;
    25.         }
    26.         else{
    27.             return "Vvedit chislo";
    28.         }
    29.     }
    30.    
    31.     function dilenniaMod($number1, $number2){
    32.         if (is_numeric($number1) and is_numeric($number2)) {
    33.             return $number1 % $number2;
    34.         }
    35.         else{
    36.             return "Vvedit chislo";
    37.         }
    38.     }
    39.    
    40.     function koren($number1){
    41.         if ($number1 <= 0 or !is_numeric($number1)){
    42.             echo "Число не підходить";
    43.         }
    44.         else{
    45.             return sqrt($number1);
    46.         }
    47.     }  
    48.    
    49.     function stepin($number1, $number2){
    50.         if (is_numeric($number1) and is_numeric($number2)) {
    51.             return pow($number1, $number2);
    52.         }
    53.         else{
    54.             return "Vvedit chislo";
    55.         }
    56.     }  
    57. }
    58.     ?>
    59.     <form action="index.php" method="post">
    60.         <input type="text" name="number1" placeholder="number1">
    61.         <input type="text" name="operator" placeholder="operator">
    62.         <input type="text" name="number2" placeholder="number2">
    63.         <input type="submit" name="submit" value="ПОРАХУВАТИ">
    64.     </form>
    65.     <?php
    66.         $CALC = new Calc;
    67.         if ($_POST) {
    68.             switch ($operator = $_POST['operator']) {
    69.                 case '+':{
    70.                     echo $CALC->dodati($_POST['number1'],$_POST['number2']);
    71.                     break;
    72.                 }
    73.                 case '-':{
    74.                     echo $CALC->minus($_POST['number1'],$_POST['number2']);
    75.                     break;
    76.                 }
    77.                 case '/':{
    78.                     echo $CALC->dilennia($_POST['number1'],$_POST['number2']);
    79.                     break;
    80.                 }
    81.                 case '%':{
    82.                     echo $CALC->dilenniaMod($_POST['number1'],$_POST['number2']);
    83.                     break;
    84.                 }
    85.                 case 'sqrt':{
    86.                     echo $CALC->koren($_POST['number1'],$_POST['number2']);
    87.                     break;
    88.                 }
    89.                 case '^':{
    90.                     echo $CALC->stepin($_POST['number1'],$_POST['number2']);
    91.                     break;
    92.                 }
    93.                 default:{
    94.                     echo "Дана функція не існує";
    95.                     break;
    96.                 }
    97.             }
    98.         }  
    То есть это вот код, который выполнится. Ну а если он работает не так, как ожидается, то тут уж что написано, то и работает, значит надо чуть посидеть и сделать так, чтобы начал работать так, как должен.
     
  7. smallvolcano

    smallvolcano Новичок

    С нами с:
    5 дек 2018
    Сообщения:
    4
    Симпатии:
    0
    Огромное большое спасибо :3
     
  8. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    До кучи еще выкинь из кода транслит и перепиши на нормальный английский названия функций, препод меньше будет придираться.