用switch语言编写一个简单的实数,四则运算程序
时间: 2024-12-13 08:16:12 浏览: 6
在C++中,如果你想创建一个简单的实数四则运算程序,我们可以使用`if-else`语句代替`switch`,因为`switch`通常用于处理有限的选项集合,而这里我们需要对四个操作符(加、减、乘、除)进行判断。不过,如果你坚持要用`switch`,以下是一个简化的示例:
```cpp
#include <iostream>
class RealNumber {
public:
double value;
RealNumber(double val) : value(val) {}
friend std::ostream& operator<<(std::ostream& os, const RealNumber& num);
};
std::ostream& operator<<(std::ostream& os, const RealNumber& num) {
return os << "RealNumber{" << num.value << "}";
}
int main() {
double a, b;
char operation;
std::cout << "Enter first number: ";
std::cin >> a;
std::cout << "Enter second number: ";
std::cin >> b;
std::cout << "Enter an operation (+, -, *, /): ";
std::cin >> operation;
switch (operation) {
case '+':
RealNumber result(a + b);
std::cout << "Result: " << result << std::endl;
break;
case '-':
RealNumber result(a - b);
std::cout << "Result: " << result << std::endl;
break;
case '*':
RealNumber result(a * b);
std::cout << "Result: " << result << std::endl;
break;
case '/':
if (b != 0) { // Avoid division by zero
RealNumber result(a / b);
std::cout << "Result: " << result << std::endl;
} else {
std::cerr << "Error: Division by zero is not allowed." << std::endl;
}
break;
default:
std::cerr << "Invalid operation. Please use one of the following: +, -, *, /" << std::endl;
break;
}
return 0;
}
```
在这个例子中,我们定义了一个名为`RealNumber`的简单类,用于存储数值,并重载了输出流插入运算符`<<`以便打印。`main`函数中从用户那里获取两个数字和一个操作符,然后根据`switch`中的条件执行相应的计算。
请注意,尽管`switch`在这种情况下可用,但它不如使用`if-else if`链更为直观,尤其是在可能添加更多操作符时。此外,这个示例假设用户输入的是有效的字符,实际应用中还需要进行错误检查和处理。
阅读全文