请用C++语言,编写一个具有四则运算计算器功能,且支持连续计算的程序
时间: 2024-10-09 22:11:48 浏览: 21
在C++中,我们可以创建一个简单的命令行计算器,它接受用户输入的操作数和操作符,然后进行连续计算。这里是一个基本的示例:
```cpp
#include <iostream>
#include <sstream>
class Calculator {
public:
double calculate(const std::string& expression) {
std::istringstream iss(expression);
double num1, num2;
char op;
if (!(iss >> num1 >> op >> num2)) {
throw std::invalid_argument("Invalid input");
}
switch (op) {
case '+':
return num1 + num2;
case '-':
return num1 - num2;
case '*':
return num1 * num2;
case '/':
if (num2 == 0)
throw std::runtime_error("Division by zero is not allowed");
return num1 / num2;
default:
throw std::runtime_error("Unknown operator");
}
}
};
int main() {
Calculator calc;
std::string input;
while (true) {
std::cout << "Enter an expression (or 'exit' to quit): ";
getline(std::cin, input);
if (input == "exit") {
break;
} else {
try {
double result = calc.calculate(input);
std::cout << "Result: " << result << std::endl;
} catch (const std::exception& e) {
std::cerr << "Error: " << e.what() << std::endl;
}
}
}
return 0;
}
```
在这个程序中,我们首先定义了一个`Calculator`类,其中有一个`calculate`方法用于解析表达式并执行相应的运算。然后在`main`函数中,用户可以输入表达式,程序会不断循环接收并计算,直到用户输入"exit"为止。