1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- #include <iostream>
- #include "mathFunction.h"
- template<typename T>
- T Input()
- {
- while (true)
- {
- T value;
- std::cin>>value;
- std::cin.clear();
- std::cin.sync();
- if(std::cin.fail() == false)
- return value;
- else
- std::cout<<"Некорректный ввод"<<std::endl;
- }
- }
- bool countAndPrint(char ch, double a, double b)
- {
- switch (ch)
- {
- case '+':
- std::cout<<MyMath::sum(a,b)<<std::endl;
- break;
- case '/':
- std::cout<<MyMath::div(a,b)<<std::endl;
- break;
- case '*':
- std::cout<<MyMath::multiply(a,b)<<std::endl;
- break;
- case '-':
- std::cout<<MyMath::dif(a,b)<<std::endl;
- break;
- default:
- std::cout<<"Нет такого оператора"<<std::endl;
- return false;
- break;
- }
- return true;
- }
- int main()
- {
- std::cout<<"Введите число 1"<<std::endl;
- double a = Input<double>();
- std::cout<<"Введите число 2"<<std::endl;
- double b = Input<double>();
- char ch;
- do
- {
- std::cout<<"Введите оператор"<<std::endl;
- ch = Input<char>();
- }
- while (countAndPrint(ch, a, b) == false);
- return 0;
- }
|