使用 switch 语句创建计算器的 C++ 程序。


2022 年 4 月 16 日, Learn eTutorial
2474

计算器是一个可以进行基本数学计算(如加法、减法、乘法和除法)的基本程序。在这里,我们将创建一个 C++ 程序,使用 switch case 语句实现一个简单的计算器。

switch 语句如何工作?

switch 是 C++ 中的一个条件语句,它根据某些条件帮助改变程序流程。我们在 switch 中给出一个条件,switch 的控制将根据条件转移到 case 语句。

注意: switch 必须有一个 default case,如果没有 case 满足 switch 条件,控制将跳转到 default case。

使用 switch 语句创建计算器的 C++ 程序。

在这个 C++ 程序中,我们使用 switch...case 语句根据用户输入执行加法、减法、乘法和除法。

这个基本计算器程序的工作原理

  1. 我们要求用户输入他想在计算器中进行的操作。
  2. 现在我们要求用户输入要进行操作的值并存储这些值。
  3. 使用 switch case 语句检查用户输入的运算符。
    • 如果用户输入“+”,则 switch 控制将转移到加法。
    • 如果用户输入“-”,则控制将转移到减法语句。
    • 如果用户输入“*”,则控制将转移到乘法。
    • 如果用户输入“/”,则控制将转移到除法。
    • 如果没有这样的运算符,将执行 default case。

注意: 我们必须在 switch 的每个 case 中使用 break 语句,以便将控制权带出 switch case,否则所有 switch case 都将被执行。

算法

步骤 1:调用头文件 iostream。

步骤 2: 使用 namespace std

步骤 3:启动主函数;int main();

步骤 4:声明整型变量 oper 和两个浮点型变量 num1num2。

步骤 5: 要求用户输入一个运算符 (+, -, *, /)

步骤 6: 读取运算符并将其存储在变量 oper 中;

步骤 7: 要求用户输入两个数字;

步骤 8:读取数字并将其存储在变量 num1num2 中;

步骤 9:启动 switch 语句并使用用户输入的运算符检查 switch cases。

步骤 10: 添加 switch cases 如下:
              Case ‘+’ 用于加法
              Case ‘-’  用于减法
              Case ‘*’ 用于乘法
              Case ‘/’ 用于除法(在 switch 的每个 case 中添加 break)

步骤 11:如果没有任何 case 匹配,则将控制权转移到 default case 并打印错误消息。

步骤 12:退出;
 


要在 C++ 中实现计算器程序,我们需要学习以下概念,我们建议您阅读这些主题以更好地理解:

C++ 源代码

                                          // Program to build a simple calculator using switch Statement
#include <iostream>
using namespace std;

int main() {
    char oper;
    float num1, num2;
    cout << "Enter an operator (+, -, *, /): ";
    cin >> oper;
    cout << "Enter two numbers: " << endl;
    cin >> num1 >> num2;

    switch (oper) {
        case '+':
            cout << num1 << " + " << num2 << " = " << num1 + num2;
            break;
        case '-':
            cout << num1 << " - " << num2 << " = " << num1 - num2;
            break;
        case '*':
            cout << num1 << " * " << num2 << " = " << num1 * num2;
            break;
        case '/':
            cout << num1 << " / " << num2 << " = " << num1 / num2;
            break;
        default:
            // operator is doesn't match any case constant (+, -, *, /)
            cout << "Error! The operator is not correct";
            break;
    }

    return 0;
}
                                      

输出

Run 1
Enter an operator (+, -, *, /): +
Enter two numbers: 
5
8
5 + 8 = 13
Run 2
Enter an operator (+, -, *, /): *
Enter two numbers: 
2
10
2 * 10 = 20
Run 3
Enter an operator (+, -, *, /): -
Enter two numbers: 
96
52
96 - 52 = 44
Run 4
Enter an operator (+, -, *, /): /
Enter two numbers: 
63
3
63 / 3 = 21