C++写一个简单的计算器程序案例

1. 编写C++源代码

    创建一个名为 advanced_calculator.cpp 的文件,并编写以下代码:

// advanced_calculator.cpp
#include <iostream>
#include <limits>

int main() {
    char operatorChoice;
    bool keepRunning = true;

    while (keepRunning) {
        int num1, num2, result;
        std::cout << "请输入第一个操作数 (num1): ";
        if (!(std::cin >> num1)) {
            std::cin.clear();
            std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
            std::cout << "错误:无效的输入。请输入一个整数。" << std::endl;
            continue;
        }

        std::cout << "请输入运算符 (+, -, *, /): ";
        if (!(std::cin >> operatorChoice)) {
            std::cin.clear();
            std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
            std::cout << "错误:无效的输入。请输入一个有效的运算符。" << std::endl;
            continue;
        }

        std::cout << "请输入第二个操作数 (num2): ";
        if (!(std::cin >> num2)) {
            std::cin.clear();
            std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
            std::cout << "错误:无效的输入。请输入一个整数。" << std::endl;
            continue;
        }

        switch (operatorChoice) {
            case '+':
                result = num1 + num2;
                std::cout << "结果是 " << num1 << " + " << num2 << " = " << result << std::endl;
                break;
            case '-':
                result = num1 - num2;
                std::cout << "结果是 " << num1 << " - " << num2 << " = " << result << std::endl;
                break;
            case '*':
                result = num1 * num2;
                std::cout << "结果是 " << num1 << " * " << num2 << " = " << result << std::endl;
                break;
            case '/':
                if (num2 != 0) {
                    result = num1 / num2;
                    std::cout << "结果是 " << num1 << " / " << num2 << " = " << result << std::endl;
                } else {
                    std::cout << "错误:除数不能为零。" << std::endl;
                }
                break;
            default:
                std::cout << "错误:无效的运算符。" << std::endl;
        }

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

        std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); // 清除输入缓冲区
    }

    return 0;
}

2. 编译C++代码

    在命令行中,使用C++编译器(如g++)来编译代码。假设你的源代码文件名为 calculator.cpp,你可以使用以下命令来编译它:

g++ advanced_calculator.cpp -o advanced_calculator

     这个命令会生成一个名为 calculator 的可执行文件(在Windows上可能是 calculator.exe)。

3. 运行可执行程序

    编译成功后,你可以在命令行中运行生成的可执行文件:

./advanced_calculator  # 在Unix-like系统上(如Linux或macOS)
advanced_calculator    # 在Windows系统上(如果路径正确或文件在当前目录下)

    运行程序后,它将提示你输入两个操作数和一个运算符,然后显示计算结果。

注意事项

确保你的系统中已经安装了C++编译器(如g++)。
在编译时,确保你当前的工作目录是包含源代码文件的目录。
在运行可执行文件时,确保你的当前工作目录或文件路径是正确的。
在除法操作中,我们检查除数是否为零,以避免运行时错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值