项目介绍
这个系列将带您逐步完成一系列C++小项目,从简单到复杂,每个项目都会讲解核心概念和编程技巧。第一篇我们将创建一个简单的命令行计算器,支持基本的四则运算。
项目功能
- 加法、减法、乘法和除法运算
- 简单的用户界面
- 错误处理(如除零错误)
- 连续计算功能
代码实现
步骤1:包含必要的头文件
#include <iostream>
#include <limits> // 用于清除输入缓冲区
using namespace std;
步骤2:创建主函数和变量
int main() {
char operation;
double num1, num2, result;
char continueCalculation;
cout << "欢迎使用命令行计算器!" << endl;
步骤3:实现主循环
do {
// 获取用户输入
cout << "\n请输入第一个数字: ";
while (!(cin >> num1)) {
cout << "无效输入,请重新输入数字: ";
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(), '\n');
}
cout << "请输入运算符 (+, -, *, /): ";
cin >> operation;
cout << "请输入第二个数字: ";
while (!(cin >> num2)) {
cout << "无效输入,请重新输入数字: ";
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(), '\n');
}
步骤4:实现计算逻辑
// 根据运算符执行计算
switch (operation) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
if (num2 != 0) {
result = num1 / num2;
} else {
cout << "错误: 除数不能为零!" << endl;
continue; // 跳过本次循环的剩余部分
}
break;
default:
cout << "错误: 无效的运算符!" << endl;
continue; // 跳过本次循环的剩余部分
}
// 显示结果
cout << "结果: " << num1 << " " << operation << " " << num2 << " = " << result << endl;
步骤5:添加继续计算功能
// 询问用户是否继续
cout << "\n是否继续计算? (y/n): ";
cin >> continueCalculation;
// 清除输入缓冲区
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(), '\n');
} while (continueCalculation == 'y' || continueCalculation == 'Y');
步骤6:结束程序
cout << "感谢使用计算器,再见!" << endl;
return 0;
}
完整代码
#include <iostream>
#include <limits> // 用于清除输入缓冲区
using namespace std;
int main() {
char operation;
double num1, num2, result;
char continueCalculation;
cout << "欢迎使用命令行计算器!" << endl;
do {
// 获取用户输入
cout << "\n请输入第一个数字: ";
while (!(cin >> num1)) {
cout << "无效输入,请重新输入数字: ";
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(), '\n');
}
cout << "请输入运算符 (+, -, *, /): ";
cin >> operation;
cout << "请输入第二个数字: ";
while (!(cin >> num2)) {
cout << "无效输入,请重新输入数字: ";
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(), '\n');
}
// 根据运算符执行计算
switch (operation) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
if (num2 != 0) {
result = num1 / num2;
} else {
cout << "错误: 除数不能为零!" << endl;
continue; // 跳过本次循环的剩余部分
}
break;
default:
cout << "错误: 无效的运算符!" << endl;
continue; // 跳过本次循环的剩余部分
}
// 显示结果
cout << "结果: " << num1 << " " << operation << " " << num2 << " = " << result << endl;
// 询问用户是否继续
cout << "\n是否继续计算? (y/n): ";
cin >> continueCalculation;
// 清除输入缓冲区
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(), '\n');
} while (continueCalculation == 'y' || continueCalculation == 'Y');
cout << "感谢使用计算器,再见!" << endl;
return 0;
}
编译和运行
- 将上面的代码保存为
calculator.cpp - 打开终端/命令提示符,导航到文件所在目录
- 使用以下命令编译:
g++ calculator.cpp -o calculator - 运行程序:
./calculator # Linux/Mac calculator.exe # Windows
项目总结
通过这个简单的计算器项目,我们学习了:
- C++的基本输入输出
- 条件语句和循环结构
- 错误处理和输入验证
- 基本的算术运算
扩展挑战
尝试为这个计算器添加以下功能:
- 支持更多运算(如取模、幂运算)
- 实现计算历史记录功能
- 添加括号支持以处理更复杂的表达式
- 创建一个简单的图形用户界面(GUI)
在下一篇文章中,我们将创建一个更复杂的项目:待办事项列表管理器。敬请期待!
5万+

被折叠的 条评论
为什么被折叠?



