Вы находитесь на странице: 1из 2

// ConsoleApplication69.cpp : Этот файл содержит функцию "main".

Здесь начинается и
заканчивается выполнение программы.
//

#include <iostream>
#include <Windows.h>

using namespace std;

//using MyCalcFunc = double (*)(const double&, const double&);

typedef double (*MyCalcFunc)(const double&, const double&);

double Plus(const double& oper1, const double& oper2)


{
return oper1 + oper2;
}

double Minus(const double& oper1, const double& oper2)


{
return oper1 - oper2;
}

double Mult(const double& oper1, const double& oper2)


{
return oper1 * oper2;
}

double Div(const double& oper1, const double& oper2)


{
return oper1 / oper2;
}

double Calculate(const double& oper1, const double& oper2, MyCalcFunc mufunc)


{
return mufunc(oper1, oper2);
}

int main()
{
// setlocale(LC_ALL, "ru");
SetConsoleCP(1251);
SetConsoleOutputCP(1251);

cout << "Введите операцию: 1 - Сложение, 2 - Вычитание, 3 - Умножение, 4 -


Деление" << endl;
int vibor;
do
{
cin >> vibor;
if (vibor < 1 || vibor > 4)
{
cout << "Неверный выбор операции. Повторите ввод" << endl;
}
} while (vibor < 1 || vibor > 4);

double oper1;
double oper2;
cout << "Введите первый операнд" << endl;
cin >> oper1;
cout << "Введите второй операнд" << endl;
cin >> oper2;

MyCalcFunc array_func[4]{ Plus ,Minus ,Mult ,Div };

cout << "Зезультат равен ";


cout << Calculate(oper1, oper2,array_func[vibor - 1]) << endl;

Вам также может понравиться