C++ 实例 - 实现一个简单的计算器
使用 C++ 创建一个简单的计算器,可以实现 +, -, *, / 。
实例
#include <iostream>
using namespace std;
int main()
{
char op;
float num1, num2;
cout << "输入运算符:+、-、*、/ : ";
cin >> op;
cout << "输入两个数: ";
cin >> num1 >> num2;
switch(op)
{
case '+':
cout << num1+num2;
break;
case '-':
cout << num1-num2;
break;
case '*':
cout << num1*num2;
break;
case '/':
if (num2 == 0)
{
cout << "error不能除以零";
break;
}
else
{
cout << num1 / num2;
break;
}
default:
// 如果运算符不是 +, -, * 或 /, 提示错误信息
cout << "Error! 请输入正确运算符。";
break;
}
return 0;
}
以上程序执行输出结果为:
输入运算符:+、-、*、/ : + 输入两个数: 1 2 3
实例 2
#include <iostream>
using namespace std;
double add(double num1, double num2) {
return num1 + num2;
}
double subtract(double num1, double num2) {
return num1 - num2;
}
double multiply(double num1, double num2) {
return num1 * num2;
}
double divide(double num1, double num2) {
if (num2 != 0) {
return num1 / num2;
} else {
cout << "错误:除数不能为零!" << endl;
return 0;
}
}
int main() {
double num1, num2;
char op;
cout << "请输入第一个数字:";
cin >> num1;
cout << "请输入运算符(+、-、*、/):";
cin >> op;
cout << "请输入第二个数字:";
cin >> num2;
double result;
switch (op) {
case '+':
result = add(num1, num2);
break;
case '-':
result = subtract(num1, num2);
break;
case '*':
result = multiply(num1, num2);
break;
case '/':
result = divide(num1, num2);
break;
default:
cout << "错误:无效的运算符!" << endl;
return 0;
}
cout << "结果:" << result << endl;
return 0;
}
以上程序执行输出结果为:
请输入第一个数字:4 请输入运算符(+、-、*、/):/ 请输入第二个数字:2 结果:2
C++ 实例
314
211***7774@qq.com
参考方法:
#include <iostream> #include <map> using namespace std; float add(float num1, float num2) { return num1 + num2; } float subtract(float num1, float num2) { return num1 - num2; } float multiply(float num1, float num2) { return num1 * num2; } float divide(float num1, float num2) { return num1 / num2; } int main() { map<char, float (*)(float, float)> fun; fun['+'] = add; fun['-'] = subtract; fun['*'] = multiply; fun['/'] = divide; char op; float num1, num2; cout << "输入运算符:+、-、*、/ : "; cin >> op; cout << "输入两个数: "; cin >> num1 >> num2; try { if (fun.count(op) > 0) cout << "结果:" << fun[op](num1, num2) << endl; else cout << "错误!请输入正确的运算符。" << endl; } catch (const std::exception& e) { cout << "错误!除数不能为零。" << endl; } return 0; }314
211***7774@qq.com