用c++编写以下程序:输入一个计算的式子,利用 switch 判断运算符,从而给出相的计算结果
时间: 2024-10-25 09:05:33 浏览: 17
在C++中,你可以使用`cin`从用户那里获取输入的表达式,然后通过`switch-case`结构来判断运算符并执行相应的操作。这里是一个简单的示例程序,它假设输入的是基本的加减乘除运算:
```cpp
#include <iostream>
using namespace std;
int performOperation(char op, int a, int b) {
switch (op) {
case '+':
return a + b;
case '-':
return a - b;
case '*':
return a * b;
case '/':
if (b != 0)
return a / b;
else
throw runtime_error("Division by zero is not allowed.");
default:
throw invalid_argument("Invalid operator");
}
}
int main() {
int num1, num2;
char op;
cout << "Enter an expression in the format 'num1 op num2': ";
cin >> num1 >> op >> num2;
try {
int result = performOperation(op, num1, num2);
cout << "Result: " << result << endl;
} catch (const exception& e) {
cerr << "Error: " << e.what() << endl;
}
return 0;
}
```
在这个程序中,我们首先定义了一个函数`performOperation`,接受两个整数和一个运算符,根据`switch`语句处理不同的运算。如果遇到除零或其他无效的操作,会抛出异常,并在`main`函数中捕获并显示错误信息。
注意,这个程序非常基础,实际应用中你可能需要更复杂的方式来解析和处理更复杂的表达式,例如使用词法分析、栈等数据结构。此外,上述代码未处理用户输入验证,实际编写时还需要考虑有效性检查。
阅读全文