C++ для начинающих: калькулятор и случайные числа

Разработка мини-калькулятора

Создадим мини-калькулятор. Сначала объявим переменные для хранения чисел, вводимых пользователем, используя тип данных float (числа с плавающей точкой):

float num1, num2;

Затем, с помощью std::cin, получим значения от пользователя:

std::cout << "Enter num1: ";
std::cin >> num1;
std::cout << "Enter num2: ";
std::cin >> num2;

Сообщения Enter num1: и Enter num2: подсказывают пользователю, что нужно ввести.

Создадим переменную для хранения математической операции:

char op;
std::cout << "Enter op: ";
std::cin >> op;

Переменная op типа char хранит один символ (+, -, *, /).

Выполним проверку введенного оператора. Используем switch-case, который предпочтительнее для проверки одной переменной на несколько значений:

float res;
switch (op) {
    case '+':
        res = num1 + num2;
        break;
    case '-':
        res = num1 - num2;
        break;
    case '*':
        res = num1 * num2;
        break;
    case '/':
        res = num1 / num2;
        break;
    default:
        res = 0;
        std::cout << "Error" << std::endl;
        break;
}
std::cout << "Result: " << res << std::endl;

Программа запрашивает два числа и оператор, выполняет вычисления и выводит результат. При вводе чисел с плавающей точкой используйте точку (.), а не запятую (,).

Дополнительные математические операции

C++ поддерживает операцию получения остатка от деления (%). Она работает только с целыми числами:

int a = 10, b = 3, z;
z = a % b;
std::cout << z << std::endl; // Выведет 1

z будет равен 1, так как 10 / 3 = 3 с остатком 1.

Сокращенные математические операции

Существуют сокращенные записи для операций с одной и той же переменной:

int a = 5;
a += 5; // Эквивалентно a = a + 5;
a -= 2; // Эквивалентно a = a - 2;
a *= 3; // Эквивалентно a = a * 3;
a /= 2; // Эквивалентно a = a / 2;
a %= 3; // Эквивалентно a = a % 3;

Также существуют инкремент (++) и декремент (—):

int x = 10;
x++; // x = x + 1;
x--; // x = x - 1;

Пространство имен

Для использования стандартных функций, таких как std::cout и std::cin, можно использовать директиву using namespace std; в начале файла:

#include <iostream>

using namespace std;

int main() {
    // ... код программы ...
}

После этого std:: перед стандартными функциями можно опускать.

Генерация случайных чисел

Функция rand() возвращает псевдослучайное число в диапазоне от 0 до RAND_MAX. Для получения случайного числа в заданном диапазоне, например, от 1 до 20, используйте:

#include <cstdlib> // Для rand()
#include <ctime>   // Для time()

int result = 1 + rand() % 20; // Случайное число от 1 до 20
std::cout << result << std::endl;

Для получения разных случайных чисел при каждом запуске программы, инициализируйте генератор случайных чисел с помощью srand():

srand(time(0)); // Инициализация генератора случайных чисел

Для использования time() необходимо подключить заголовочный файл <ctime>.

В этом уроке мы создали простой калькулятор, изучили дополнительные математические операции и научились генерировать случайные числа в C++. Использование пространства имен std упрощает код. Не забывайте инициализировать генератор случайных чисел с помощью srand(time(0)) для получения разных результатов при каждом запуске программы.

Что будем искать? Например,программа