主题
简单计算器
一个简单的计算器可以实现常见的数学运算,如加法、减法、乘法和除法。以下将展示如何用 C++ 实现一个简单的命令行计算器。
功能需求
该计算器需要实现以下功能:
- 支持加法、减法、乘法和除法四则运算。
- 处理用户输入,支持两个数字的运算。
- 判断除数是否为零,以避免除零错误。
- 支持重复计算,直到用户选择退出。
系统设计
1. 运算函数
首先,我们可以设计一个 Calculator
类,其中包含四个基本运算函数:加法、减法、乘法和除法。
cpp
#include <iostream>
using namespace std;
class Calculator {
public:
double add(double a, double b) {
return a + b;
}
double subtract(double a, double b) {
return a - b;
}
double multiply(double a, double b) {
return a * b;
}
double divide(double a, double b) {
if (b == 0) {
throw invalid_argument("除数不能为零");
}
return a / b;
}
};
2. 用户交互
接下来,我们设计主函数来与用户交互,获取输入并进行运算。
cpp
int main() {
Calculator calc;
double num1, num2;
char op;
bool keepRunning = true;
cout << "欢迎使用简单计算器!" << endl;
while (keepRunning) {
cout << "请输入第一个数字:";
cin >> num1;
cout << "请输入运算符 (+, -, *, /):";
cin >> op;
cout << "请输入第二个数字:";
cin >> num2;
try {
switch(op) {
case '+':
cout << "结果: " << calc.add(num1, num2) << endl;
break;
case '-':
cout << "结果: " << calc.subtract(num1, num2) << endl;
break;
case '*':
cout << "结果: " << calc.multiply(num1, num2) << endl;
break;
case '/':
cout << "结果: " << calc.divide(num1, num2) << endl;
break;
default:
cout << "无效的运算符!" << endl;
break;
}
} catch (const invalid_argument& e) {
cout << e.what() << endl;
}
cout << "是否继续计算?(y/n): ";
char choice;
cin >> choice;
if (choice != 'y' && choice != 'Y') {
keepRunning = false;
}
}
cout << "感谢使用计算器!" << endl;
return 0;
}
总结
通过以上步骤,我们实现了一个简单的计算器程序,支持加法、减法、乘法和除法运算。该程序处理用户输入,支持多次运算并能够处理除数为零的错误。设计简洁,易于扩展,可以根据需求增加更多功能,如支持更多的数学运算或输入验证等。