用C++,输入一个形式如“操作数 运算符 操作数”的表达式,对2个整数进行加、减、乘、除运算。
时间: 2024-10-10 09:05:19 浏览: 34
编写一个用输入和输出流运算符进行的输入和输出的程序。从键盘输入两个数,分别对两个数进行加,减,乘和除的运算。
在C++中,你可以通过使用字符串处理和解析技术来实现这个功能。首先,你需要从用户输入中读取表达式的字符串形式,然后将它分割成操作数和运算符的部分。接下来,你需要一个函数来执行相应的数学运算。这里是一个简单的示例:
```cpp
#include <iostream>
#include <sstream>
#include <string>
// 定义运算符优先级和对应的操作函数
int operate(int a, int b, char op) {
switch (op) {
case '+': return a + b;
case '-': return a - b;
case '*': return a * b;
case '/': // 注意除法需要检查b是否为0
if (b == 0) throw std::runtime_error("Division by zero is not allowed.");
return a / b;
default:
throw std::invalid_argument("Invalid operator");
}
}
int main() {
std::string input;
std::cout << "Enter an expression in the format 'number operator number': ";
std::getline(std::cin, input);
std::istringstream iss(input);
int num1, num2;
char op;
// 解析表达式
if (!(iss >> num1 >> op >> num2)) {
std::cerr << "Invalid input format." << std::endl;
return 1;
}
try {
int result = operate(num1, num2, op);
std::cout << "Result: " << result << std::endl;
} catch (const std::exception& e) {
std::cerr << "Error: " << e.what() << std::endl;
}
return 0;
}
```
在这个程序中,我们假设用户输入了正确的格式。当用户运行程序并输入例如"5 + 3"这样的表达式时,程序会计算结果并打印出来。
阅读全文