Консольная программа «Простейший калькулятор»

В мире современных вычислений и информационных технологий программы-калькуляторы стали неотъемлемой частью нашей повседневной жизни. Они помогают нам решать различные математические задачи, выполнять финансовые расчеты, а также упрощают выполнение множества повседневных задач, требующих точных числовых данных. В данной статье мы погрузимся в мир разработки программного обеспечения и создадим собственную программу «Простой калькулятор».

Теория

Алгоритм, чтобы написать простую программу калькулятор, можно разбить на несколько основных шагов:

  • Получение ввода от пользователя. Предложите пользователю ввести первое число. Запросите у пользователя оператор (символ арифметической операции, такой как +, -, *, /). Попросите пользователя ввести второе число.
  • Проверка оператора. Проверьте, что введенный оператор является одним из допустимых операторов (+, -, *, /). Если нет, выведите сообщение об ошибке и завершите программу.
  • Выполнение арифметической операции. В зависимости от введенного оператора выполните соответствующую арифметическую операцию (сложение, вычитание, умножение, деление) над двумя числами.
  • Вывод результата. Выведите результат операции на экран.
  • Повторение операции (опционально). Спросите пользователя, хочет ли он выполнить еще одну операцию. Если да, вернитесь к шагу 1. В противном случае завершите программу.

Python

Вариант без модуля

# Ввод чисел и операции
num1 = float(input("Введите первое число: "))
operation = input("Введите операцию (+, -, *, /): ")
num2 = float(input("Введите второе число: "))

# Выполнение операции в зависимости от введенного оператора
if operation == '+':
    result = num1 + num2
    print(f"Сумма {num1} и {num2} равна {result}")
elif operation == '-':
    result = num1 - num2
    print(f"Разность {num1} и {num2} равна {result}")
elif operation == '*':
    result = num1 * num2
    print(f"Произведение {num1} и {num2} равно {result}")
elif operation == '/':
    if num2 != 0:
        result = num1 / num2
        print(f"Деление {num1} на {num2} равно {result}")
    else:
        print("Ошибка: нельзя делить на ноль.")
else:
    print("Ошибка: неверная операция.")

Вариант с модулем

Начнем с написания модуля с функциями для математических операций. Создайте файл с именем calculator_functions.py и добавьте в него следующий код:

# calculator_functions.py

def add(a, b):
    """Функция для сложения двух чисел."""
    return a + b

def subtract(a, b):
    """Функция для вычитания одного числа из другого."""
    return a - b

def multiply(a, b):
    """Функция для умножения двух чисел."""
    return a * b

def divide(a, b):
    """Функция для деления одного числа на другое."""
    if b != 0:
        return a / b
    else:
        return "Ошибка: деление на ноль!"

Теперь создадим основной файл calculator.py для консольной программы калькулятора:

# calculator.py
from calculator_functions import add, subtract, multiply, divide

def main():
    print("Добро пожаловать в консольный калькулятор!")

    while True:
        print("\nВыберите операцию:")
        print("1. Сложение")
        print("2. Вычитание")
        print("3. Умножение")
        print("4. Деление")
        print("5. Выйти")

        choice = input("Введите номер операции: ")

        if choice == '5':
            print("Спасибо за использование калькулятора. До свидания!")
            break

        num1 = float(input("Введите первое число: "))
        num2 = float(input("Введите второе число: "))

        if choice == '1':
            print("Результат сложения:", add(num1, num2))
        elif choice == '2':
            print("Результат вычитания:", subtract(num1, num2))
        elif choice == '3':
            print("Результат умножения:", multiply(num1, num2))
        elif choice == '4':
            print("Результат деления:", divide(num1, num2))
        else:
            print("Некорректный ввод. Пожалуйста, выберите операцию от 1 до 5.")

if __name__ == "__main__":
    main()

Теперь вы можете запустить calculator.py, чтобы использовать консольный калькулятор. Следуйте указаниям по выбору операции и вводу чисел, чтобы выполнить нужную математическую операцию.

C++

Пример программы на C++, выполняющей простые арифметические операции в зависимости от введенного оператора:

#include <iostream>

int main() {
    double num1, num2, result;
    char operation;

    // Ввод чисел и операции
    std::cout << "Введите первое число: ";
    std::cin >> num1;

    std::cout << "Введите операцию (+, -, *, /): ";
    std::cin >> operation;

    std::cout << "Введите второе число: ";
    std::cin >> num2;

    // Выполнение операции в зависимости от введенного оператора
    switch (operation) {
        case '+':
            result = num1 + num2;
            std::cout << "Сумма " << num1 << " и " << num2 << " равна " << result << std::endl;
            break;
        case '-':
            result = num1 - num2;
            std::cout << "Разность " << num1 << " и " << num2 << " равна " << result << std::endl;
            break;
        case '*':
            result = num1 * num2;
            std::cout << "Произведение " << num1 << " и " << num2 << " равно " << result << std::endl;
            break;
        case '/':
            if (num2 != 0) {
                result = num1 / num2;
                std::cout << "Деление " << num1 << " на " << num2 << " равно " << result << std::endl;
            } else {
                std::cout << "Ошибка: нельзя делить на ноль." << std::endl;
            }
            break;
        default:
            std::cout << "Ошибка: неверная операция." << std::endl;
            break;
    }

    return 0;
}

Эта программа сначала запрашивает у пользователя два числа и операцию, затем выполняет выбранную операцию и выводит результат на экран. Примечание: программа проверяет деление на ноль и обрабатывает некорректные операции.

C#

using System;

class Calculator
{
    static void Main()
    {
        double num1, num2, result;
        char operation;

        // Ввод чисел и операции
        Console.Write("Введите первое число: ");
        num1 = Convert.ToDouble(Console.ReadLine());

        Console.Write("Введите операцию (+, -, *, /): ");
        operation = Convert.ToChar(Console.ReadLine());

        Console.Write("Введите второе число: ");
        num2 = Convert.ToDouble(Console.ReadLine());

        // Выполнение операции в зависимости от введенного оператора
        switch (operation)
        {
            case '+':
                result = num1 + num2;
                Console.WriteLine($"Сумма {num1} и {num2} равна {result}");
                break;
            case '-':
                result = num1 - num2;
                Console.WriteLine($"Разность {num1} и {num2} равна {result}");
                break;
            case '*':
                result = num1 * num2;
                Console.WriteLine($"Произведение {num1} и {num2} равно {result}");
                break;
            case '/':
                if (num2 != 0)
                {
                    result = num1 / num2;
                    Console.WriteLine($"Деление {num1} на {num2} равно {result}");
                }
                else
                {
                    Console.WriteLine("Ошибка: нельзя делить на ноль.");
                }
                break;
            default:
                Console.WriteLine("Ошибка: неверная операция.");
                break;
        }
    }
}

Java

import java.util.Scanner;

public class Calculator {
    public static void main(String[] args) {
        double num1, num2, result;
        char operation;

        // Создаем объект Scanner для ввода с клавиатуры
        Scanner scanner = new Scanner(System.in);

        // Ввод чисел и операции
        System.out.print("Введите первое число: ");
        num1 = scanner.nextDouble();

        System.out.print("Введите операцию (+, -, *, /): ");
        operation = scanner.next().charAt(0);

        System.out.print("Введите второе число: ");
        num2 = scanner.nextDouble();

        // Выполнение операции в зависимости от введенного оператора
        switch (operation) {
            case '+':
                result = num1 + num2;
                System.out.println("Сумма " + num1 + " и " + num2 + " равна " + result);
                break;
            case '-':
                result = num1 - num2;
                System.out.println("Разность " + num1 + " и " + num2 + " равна " + result);
                break;
            case '*':
                result = num1 * num2;
                System.out.println("Произведение " + num1 + " и " + num2 + " равно " + result);
                break;
            case '/':
                if (num2 != 0) {
                    result = num1 / num2;
                    System.out.println("Деление " + num1 + " на " + num2 + " равно " + result);
                } else {
                    System.out.println("Ошибка: нельзя делить на ноль.");
                }
                break;
            default:
                System.out.println("Ошибка: неверная операция.");
                break;
        }

        // Закрываем Scanner
        scanner.close();
    }
}

Pascal

program SimpleCalculator;

var
  num1, num2, result: real;
  operation: char;

begin
  writeln('Введите первое число: ');
  readln(num1);

  writeln('Введите операцию (+, -, *, /): ');
  readln(operation);

  writeln('Введите второе число: ');
  readln(num2);

  case operation of
    '+':
      result := num1 + num2;
      writeln('Сумма ', num1, ' и ', num2, ' равна ', result);
    '-':
      result := num1 - num2;
      writeln('Разность ', num1, ' и ', num2, ' равна ', result);
    '*':
      result := num1 * num2;
      writeln('Произведение ', num1, ' и ', num2, ' равно ', result);
    '/':
      if num2 <> 0 then
      begin
        result := num1 / num2;
        writeln('Деление ', num1, ' на ', num2, ' равно ', result);
      end
      else
        writeln('Ошибка: нельзя делить на ноль.');
  else
    writeln('Ошибка: неверная операция.');
  end;

  readln;
end.

JavaScript

const num1 = parseFloat(prompt('Введите первое число: '));
const operation = prompt('Введите операцию (+, -, *, /): ');
const num2 = parseFloat(prompt('Введите второе число: '));

let result;

switch (operation) {
  case '+':
    result = num1 + num2;
    console.log(`Сумма ${num1} и ${num2} равна ${result}`);
    break;
  case '-':
    result = num1 - num2;
    console.log(`Разность ${num1} и ${num2} равна ${result}`);
    break;
  case '*':
    result = num1 * num2;
    console.log(`Произведение ${num1} и ${num2} равно ${result}`);
    break;
  case '/':
    if (num2 !== 0) {
      result = num1 / num2;
      console.log(`Деление ${num1} на ${num2} равно ${result}`);
    } else {
      console.log('Ошибка: нельзя делить на ноль.');
    }
    break;
  default:
    console.log('Ошибка: неверная операция.');
}

PHP

<?php
// Функция для выполнения арифметической операции
function calculate($num1, $num2, $operator) {
    switch ($operator) {
        case '+':
            return $num1 + $num2;
        case '-':
            return $num1 - $num2;
        case '*':
            return $num1 * $num2;
        case '/':
            if ($num2 != 0) {
                return $num1 / $num2;
            } else {
                return "Ошибка: нельзя делить на ноль";
            }
        default:
            return "Ошибка: неверная операция";
    }
}

// Запрос ввода данных у пользователя
$num1 = readline("Введите первое число: ");
$operator = readline("Введите операцию (+, -, *, /): ");
$num2 = readline("Введите второе число: ");

// Вызов функции и вывод результата
$result = calculate($num1, $num2, $operator);
echo "Результат: $result\n";
?>
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Давайте поможем друг другу! Если вы нашли ошибку или хотите предложить лучшее решение, пожалуйста, напишите об этом в комментариях.

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

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