教程 cpp tutorial

简单计算器

一个简单的计算器可以实现常见的数学运算,如加法、减法、乘法和除法。以下将展示如何用 C++ 实现一个简单的命令行计算器。

功能需求

该计算器需要实现以下功能:

  • 支持加法、减法、乘法和除法四则运算。
  • 处理用户输入,支持两个数字的运算。
  • 判断除数是否为零,以避免除零错误。
  • 支持重复计算,直到用户选择退出。

系统设计

1. 运算函数

首先,我们可以设计一个 Calculator 类,其中包含四个基本运算函数:加法、减法、乘法和除法。

cpp
#include <iostream>
using namespace std;

class Calculator {
public:
    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) {
        if (b == 0) {
            throw invalid_argument("除数不能为零");
        }
        return a / b;
    }
};

`

2. 用户交互

接下来,我们设计主函数来与用户交互,获取输入并进行运算。

cpp
int main() {
    Calculator calc;
    double num1, num2;
    char op;
    bool keepRunning = true;

    cout << "欢迎使用简单计算器!" << endl;

    while (keepRunning) {
        cout << "请输入第一个数字:";
        cin >> num1;
        
        cout << "请输入运算符 (+, -, *, /):";
        cin >> op;
        
        cout << "请输入第二个数字:";
        cin >> num2;

        try {
            switch(op) {
                case '+':
                    cout << "结果: " << calc.add(num1, num2) << endl;
                    break;
                case '-':
                    cout << "结果: " << calc.subtract(num1, num2) << endl;
                    break;
                case '*':
                    cout << "结果: " << calc.multiply(num1, num2) << endl;
                    break;
                case '/':
                    cout << "结果: " << calc.divide(num1, num2) << endl;
                    break;
                default:
                    cout << "无效的运算符!" << endl;
                    break;
            }
        } catch (const invalid_argument& e) {
            cout << e.what() << endl;
        }

        cout << "是否继续计算?(y/n): ";
        char choice;
        cin >> choice;
        if (choice != 'y' && choice != 'Y') {
            keepRunning = false;
        }
    }

    cout << "感谢使用计算器!" << endl;
    return 0;
}

总结

通过以上步骤,我们实现了一个简单的计算器程序,支持加法、减法、乘法和除法运算。该程序处理用户输入,支持多次运算并能够处理除数为零的错误。设计简洁,易于扩展,可以根据需求增加更多功能,如支持更多的数学运算或输入验证等。