Создаем простой калькулятор на php.

Создаем простой калькулятор на php.

Создаем простой калькулятор на php, используя процедурный подход.

Функции:

  1. Калькулятор выполняет основные операции: сложение, вычитание, деление, умножение.
  2. Осуществляется проверка на корректность введенных пользователями данных. Проверяем:
    • все ли поля заполнены;
    • не оказался ли пользователь шутником и не пытается ли к 5 прибавить слово «котлеты»;
    • не пытается ли пользователь нарушить математические законы и поделить на ноль;
  3. При отсутствии ошибок на экран выводится ответ — результат вычислений.
  4. Если выявлена ошибка, то выводится сообщение об ошибке.

Листинги кода с комментариями:

Ну что — засучим рукава, достанем из своих умных голов необходимые ингредиенты и испечем вкусный калькулятор?!

  1. Для начала создадим файл calculator.php.
  2. В файле calculator.php создим html-форму с полями для ввода операндов и выпадающим списком для выбора оператора:
  3. 
    
    
    
    		
    
    

    О небольшом антураже в виде заголовка и метатегов для интерпретации нашей формы браузером я умолчу, так как это не совсем по делу.. Что, уже проболталась? Ну тогда двигаемся дальше!

    При создании формы используем post метод для передачи данных. Так как мы используем процедурный подход и предполагаем размещать основной скрипт в том же файле, то оставляем action — атрибут формы пустым.

  4. Форма с кнопкой создана. Но что это за кнопка, после нажатия на которую ничего не происходит? Исправим ситуацию — вдохнем жизнь в кнопку:
    • Для начала проверим, были ли нажата кнопка submit и переданы данные формы методом post. Если передача данных осуществлена успешно, то инициализируем переменные: $number1, $number2 и $operation и передадим в качестве значений post-данные первого введенного операнда $_POST[‘number1’], второго введенного операнда $_POST[‘number1’] и оператора $_POST[‘operation’] соответственно.
    • 
      
      
      
      		
      
      
    • Проверяем, все ли поля формы заполнены, если нет, то инициализируем переменную $error_result, в которую передаем сообщение об ошибке:
    • 
      
      
      
      		
      
      
    • Если на этом этапе ошибка не найдена и все поля формы заполнены, проверяем являются ли операнды числами. Если все в порядке, то используя конструкцию switch находим выбранный пользователем оператор и производим соответствующее оператору вычисление — сложение, вычитание, умножение или деление. Здесь все просто. Кстати, в случае, если пользователь решит повеселиться и выберет оператор деления, а в качестве второго операнда введет ноль, то мы предусмотрительно выведем ему напоминание о том, что на ноль делить нельзя. А все почему? Потому что добавим проверку деления на ноль, в том случае, если case: ‘divide’:
    • 
      
      
      
      		
      
      
    • Заключительный этап — вывод результата на экран. Если переменная $error_result инициализирована, то выводим ее на экран, если нет — выводим на экран результат вычислений, записанный в переменной $result:
    • 
      
      
      
      		
      
      
    Пора вынимать наш калькулятор из духовки и потыкать в него спичкой, дабы проверить, хорошо ли он испекся. У меня калькулятор работает исправно, жалуется на глупости, которые предлагает сотворить веселый юзер и отменно вычисляет, когда вводятся корректные данные. И все было бы отлично, если бы мы не забыли про вишенку на торте!
  5. Вишенка на на нашем торте не влияет на функциональность калькулятора, но повышает аппетит пользователя. И называется она — css-стили! Чтобы приступить к украшательству калькулятора, создадим файл со стилями «styles.css» и укажем его в header файла calculator.php:
    
    
    
    
    		
    
    
    Осталось только сотворить во вновь созданном файле красоту и прописать стили для элементов. Моя вишенка выглядит так:
h1{padding-left:67px; margin-top:60px; font-size:27px; color:#464748; text-transform:uppercase;} 
.calculate-form{width:460px; height:100px; padding:0px 60px 40px 60px;} 
input.numbers{height:42px; width:120px; float:left; display:inline-block; margin:20px 0px; padding:10px 20px; border:1px solid #2d598066; -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; font-weight:300;} 
select.operations{width:66px; height:64px; float:left; margin:20px 5px; padding:5px 0 0 10px; background-color:#1ca7a2; border:1px solid #1ca7a2; font-size:36px; color:#fff;} 
input.submit_form{height:62px; width:400px; display:inline-block; padding-top:5px; background-color:#f7994f; border:1px solid #f6994f; border-radius:4px; font-size:17px; font-weight:600; text-transform:uppercase; color:#ffffff; box-shadow:1px 5px 10px 5px rgb(247, 136, 48) inset;} 
div.answer-text,div.error-text{margin-top:50px; padding-left:65px; font-size:28px;} 
div.answer-text{color:#2e2e2f;}
div.error-text{color:red;}

На этом калькулятор можно считать полноценным и завершенным! Листинги с кодом вы можете скачать по ссылке.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *