Знаете ведь есть эти простецкие калькуляторы с выбором действия через switch-case, которые обычно используются в качестве задач при изучении основ? Представим, что такой калькулятор поместили в функцию, которая принимает параметры: int num1, int num2, операция(например +).
Так вот мне стало интересно: возможно ли передать в функцию(хоть каким-то) способом непосредственно сам знак?
Чтобы потом можно было обойтись парой строчек кода, вместо switch-case.
Для понимания того, что я конкретно хочу:
Вот стандартного рода базовый калькулятор
int main(){
int a = 0;
int b = 0;
char operation;
std::cout << "Enter first number: ";
std::cin >> a;
std::cout << "Enter second number: ";
std::cin >> b;
std::cout << "Enter operation: ";
std::cin >> operation;
switch (operation){
case '-':
std::cout << "a - b = " << a - b <<'\n';
break;
case '+':
std::cout << "a + b = " << a + b << '\n';
break;
case '*':
std::cout << "a * b = " << a * b << '\n';
break;
case '/':
std::cout << "a / b = " << a / b << '\n';
break;
default:
std::cout << "Error\n";
}
return 0;
}
А мне бы хотел привести его к примерно такому:
int calculate(int a, int b, ??? operation) {
cout << a operation b << endl;
}
int main() {
std::cout << "Enter first number: ";
std::cin >> a;
std::cout << "Enter second number: ";
std::cin >> b;
std::cout << "Enter operation: ";
std::cin >> operation;
calculate(a, b, operation)
return 0;
}
Надеюсь, что я смог донести свою мысль.