题目:要求输入两个数和运算符号,得到结果。
1. 面向过程编程
#include <iostream>
using namespace std;
float operationFun(float num1, float num2, char charOper) {
switch (charOper) {
case '+':
return num1 + num2;
break;
case '-':
return num1 - num2;
break;
case '*':
return num1 * num2;
break;
case '/':
{
if (num2 > -0.000001 && num2 < 0.000001) {
throw "error of dividing zero.";
}
else {
return num1 / num2;
}
}
break;
}
}
int main() {
try {
float numberA;
cout << "请输入数字A:";
cin >> numberA;
char charOperate;
cout << "请选择运算符号(+、-、*、/):";
cin >> charOperate;
float numberB;
cout << "请输入数字B:";
cin >> numberB;
float result = operationFun(numberA, numberB, charOperate);
cout << result << endl;
}
catch (const char* error) {
cout << error << endl;
}
return 0;
}
2. 面向对象编程
#include <iostream>
using namespace std;
class Operation {
public:
float getResult(float num1, float num2, char charOper) {
switch (charOper) {
case '+':
return num1 + num2;
break;
case '-':
return num1 - num2;
break;
case '*':
return num1 * num2;
break;
case '/':
{
if (num2 > -0.000001 && num2 < 0.000001) {
throw "error of dividing zero.";
}
else {
return num1 / num2;
}
}
break;
}
}
};
Operation op;
float result = op.getResult(numberA, numberB, charOperate);
cout << result << endl;