Программирование (фото с сайта pixabay.com)

Программа «Элементарный Калькулятор» (язык C++)

Примеры

Варианты решения задачки №1 (программа «Элементарный калькулятор») на языке C++. Первый вариант — с использованием оператора выбора switch (...) case ... :

// Программа "Простейший калькулятор"
#include <iostream>

using namespace std;

int main()
{
    int a, b;   // Переменные-операнды (целого типа)
    char op;    // Переменная-символ операции (символьного типа)
    
    // Вводим исходные данные
    cout << "The simplest calculator." << endl;
    cout << "Enter arithmetic expression [e.g. a + b ]: ";
    cin >> a >> op >> b;
    
    // Проверяем операцию и вычисляем выражение
    switch (op) {
        case '+':
            cout << a << op << b << " = " << a + b << endl;
            break;
        case '-':
            cout << a << op << b << " = " << a - b << endl;
            break;
        case '*':
            cout << a << op << b << " = " << a * b << endl;
            break;
        case '/':
            if (b == 0)
                cout << "...Division by zero!" << endl;  // Деление на ноль!
            else
                cout << a << op << b << " = " << (double)a / b << endl;
            break;
        default:
            cout << "...Unknown operation!" << endl;  // Неизвестная операция!
    }
    
    return 0;   // Завершаем программу (выходим) с кодом 0
}

Еще один вариант, который в целом мало отличается от первого — с использованием условного оператора ( if (...) ... else ... ):

// Программа "Простейший калькулятор"
#include <iostream>

using namespace std;

int main()
{
    int a, b;   // Переменные-операнды (целого типа)
    char op;    // Переменная-символ операции (символьного типа)
    
    // Вводим исходные данные
    cout << "The simplest calculator." << endl;
    cout << "Enter arithmetic expression [e.g. a + b ]: ";
    cin >> a >> op >> b;
    
    // Проверяем операцию и вычисляем выражение
    if (op == '+')
        cout << a << op << b << " = " << a + b << endl;
    else
        if (op == '-')
            cout << a << op << b << " = " << a - b << endl;
        else
            if (op == '*')
                cout << a << op << b << " = " << a * b << endl;
            else
                if (op == '/')
                    if (b == 0)
                        cout << "...Division by zero!" << endl;
                    else
                        cout << a << op << b << " = " << (double)a / b << endl;
                else
                    cout << "...Unknown operation!" << endl;
    
    return 0;   // Завершаем программу (выходим) с кодом 0
}

То же самое, но для любителей более компактного оформления:

// Программа "Простейший калькулятор"
#include <iostream>

using namespace std;

int main()
{
    int a, b;   // Переменные-операнды (целого типа)
    char op;    // Переменная-символ операции (символьного типа)
    
    // Вводим исходные данные
    cout << "The simplest calculator." << endl;
    cout << "Enter arithmetic expression [e.g. a + b ]: ";
    cin >> a >> op >> b;
    
    // Проверяем операцию и вычисляем выражение
    if (op == '+')
        cout << a << op << b << " = " << a + b << endl;
    else if (op == '-')
        cout << a << op << b << " = " << a - b << endl;
    else if (op == '*')
        cout << a << op << b << " = " << a * b << endl;
    else if (op == '/')
        if (b == 0)
            cout << "...Division by zero!" << endl;
        else
            cout << a << op << b << " = " << (double)a / b << endl;
    else
        cout << "...Unknown operation!" << endl;
    
    return 0;   // Завершаем программу (выходим) с кодом 0
}

И еще один вариант — с использованием скобок (операторных и в арифметических выражениях), которые в данном конкретном случае, собственно, ничего не меняют:

// Программа "Простейший калькулятор"
#include <iostream>

using namespace std;

int main()
{
    int a, b;   // Переменные-операнды (целого типа)
    char op;    // Переменная-символ операции (символьного типа)

    // Вводим исходные данные
    cout << "The simplest calculator." << endl;
    cout << "Enter arithmetic expression [e.g. a + b ]: ";
    cin >> a >> op >> b;

    // Проверяем операцию и вычисляем выражение
    if (op == '+') {
        cout << a << op << b << " = " << (a + b) << endl;
    } else if (op == '-') {
        cout << a << op << b << " = " << (a - b) << endl;
    } else if (op == '*') {
        cout << a << op << b << " = " << (a * b) << endl;
    } else if (op == '/') {
        if (b == 0)
            cout << "...Division by zero!" << endl;
        else
            cout << a << op << b << " = " << ((double)a / b) << endl;
    } else {
        cout << "...Unknown operation!" << endl;
    }

    return 0;   // Завершаем программу (выходим) с кодом 0
}

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

Ваш адрес email не будет опубликован.