Ниже — простой калькулятор на C++, с пошаговым объяснением и кодом. Это решение подходит для начинающих и можно объяснить ученику 4-го класса, чтобы понять, как работает программа.
- Что делает программа
- Читает два числа и знак операции (+, -, *, /, ^).
- Выполняет выбранную операцию над числами.
- Выводит результат.
- Обрабатывает простые ошибки: деление на ноль и неизвестный оператор.
- Пояснение по шагам (постепенно, просто)
- #include
и #include — подключают возможности ввода/вывода и математические функции. - int main() — основная функция, с которой начинается программа.
- double a, b; — переменные для двух чисел (могут быть дробными, например 3.5).
- char op; — переменная для знака операции: +, -, *, /, ^.
- std::cin >> a >> op >> b — считывают ввод пользователя: число, знак и второе число.
- switch(op) — выбирает блок кода в зависимости от знака операции.
- '+', '-', '*', '/' — выполняют соответствующую арифметику.
- '/' — перед делением проверяем, что делитель не равен нулю.
- '^' — возведение в степень (используется std::pow).
- default — если введен неизвестный знак, выводим сообщение об ошибке.
- std::cout << "Результат: " << result; — выводим результат на экран.
- Код программы (с комментариями)
#include
int main() { double a, b; // первое и второе число char op; // знак операции
std::cout << "Введите выражение в формате: число1 оператор число2\n";
std::cout << "Доступные операторы: + - * / ^\n";
std::cout << "Например: 3.5 * 2\n";
if (!(std::cin >> a >> op >> b)) {
std::cerr << "Ошибка ввода.\n";
return 1;
}
double result = 0.0;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b == 0) {
std::cerr << "Ошибка: деление на ноль.\n";
return 1;
}
result = a / b;
break;
case '^':
result = std::pow(a, b); // возведение в степень
break;
default:
std::cerr << "Неизвестный оператор: " << op << "\n";
return 1;
}
std::cout << "Результат: " << result << "\n";
return 0;
}
- Как скомпилировать и запустить
- Если у вас компилятор C++ (например, g++):
- Сохраните код в файл calculator.cpp.
- Откройте командную строку и выполните:
- g++ -std=c++17 calculator.cpp -o calculator -./calculator (в Windows: calculator.exe)
- Программа попросит ввести выражение, например: 3 + 4
- Вы увидите результат, например: Результат: 7
- Простые варианты расширения (по желанию)
- Добавить поддержку повторных расчётов в цикле до тех пор, пока не скажут "выход".
- Разрешить вводить выражения без пробелов, например 3+4 (потребуется более продвинутая обработка ввода).
- Добавить дополнительные операции: % (остаток от деления), sqrt (квадратный корень) и т.д.
- Сделать обработку ошибок более дружелюбной (например, неверный формат ввода, слишком большие числа).
Если нужно, могу адаптировать этот калькулятор под другие требования (например, графический интерфейс или режим с двумя операциями подряд).