用c++写一个简单的计算器,包括加,减,乘,除和阶乘等运算,且计算器有菜单选项
时间: 2024-09-26 08:11:48 浏览: 83
基于vs和标准C++的MFC计算器实现 .pdf
当然可以,下面是一个简单的命令行C++计算器程序,包含基本的加、减、乘、除以及阶乘功能,用户可以通过选择相应的数字键进行操作:
```cpp
#include <iostream>
#include <cmath>
// 函数声明
double add(double a, double b);
double subtract(double a, double b);
double multiply(double a, double b);
double divide(double a, double b, bool check_zero = false); // 添加检查除数是否为0的参数
unsigned long factorial(unsigned int n);
int main() {
double num1, num2;
char choice;
std::cout << "欢迎使用简单计算器!\n";
while (true) {
std::cout << "\n请选择操作:\n"
<< "1. 加法\n"
<< "2. 减法\n"
<< "3. 乘法\n"
<< "4. 除法\n"
<< "5. 阶乘\n"
<< "6. 退出\n"
<< "请输入您的选择(1-6): ";
std::cin >> choice;
switch (choice) {
case '1':
std::cout << "请输入两个数字: ";
std::cin >> num1 >> num2;
std::cout << "结果: " << add(num1, num2) << "\n";
break;
case '2':
std::cin >> num1 >> num2;
std::cout << "结果: " << subtract(num1, num2) << "\n";
break;
case '3':
std::cin >> num1 >> num2;
std::cout << "结果: " << multiply(num1, num2) << "\n";
break;
case '4':
std::cout << "请输入第一个数字: ";
std::cin >> num1;
std::cout << "请输入第二个数字(默认不检查除零): ";
std::cin >> num2;
std::cout << "结果: " << divide(num1, num2) << "\n";
break;
case '5':
std::cout << "请输入一个整数: ";
unsigned int fact_n;
std::cin >> fact_n;
std::cout << "阶乘: " << factorial(fact_n) << "\n";
break;
case '6':
std::cout << "感谢使用,再见!\n";
return 0;
default:
std::cerr << "无效的选择,请重新输入。\n";
break;
}
}
}
// 定义函数
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, bool check_zero) {
if (check_zero && b == 0)
throw std::runtime_error("除数不能为零");
return a / b;
}
// 阶乘函数
unsigned long factorial(unsigned int n) {
if (n == 0 || n == 1)
return 1;
else
return n * factorial(n - 1);
}
```
当你运行这个程序时,它会提示用户选择一个操作并输入必要的数字来进行计算。
阅读全文