问题标题: 计算器

0
0
彭煜清
彭煜清
新手守护
新手守护

#include <iostream>
#include <limits>
using namespace std;
void displayMenu() {
    cout << "请选择操作(1-5): ";
}
double getNumberInput(const string& prompt) {
    double num;
    while (true) {
        cout << prompt;
        cin >> num;
        if (cin.fail()) {
            cin.clear();
            cin.ignore(numeric_limits<streamsize>::max(), '\n');
            cout << "输入无效,请重新输入数字\n";
        } else {
            break;
        }
    }
    return num;
}
void performOperation(int choice) {
    double num1 = getNumberInput("输入第一个数字: ");
    double num2 = getNumberInput("输入第二个数字: ");

    switch (choice) {
        case 1:
            cout << "结果: " << num1 << " + " << num2 << " = " << num1 + num2 << endl;
            break;
        case 2:
            cout << "结果: " << num1 << " - " << num2 << " = " << num1 - num2 << endl;
            break;
        case 3:
            cout << "结果: " << num1 << " * " << num2 << " = " << num1 * num2 << endl;
            break;
        case 4:
            if (num2 != 0) {
                cout << "结果: " << num1 << " / " << num2 << " = " << num1 / num2 << endl;
            } else {
                cout << "错误: 除数不能为零\n";
            }
            break;
        default:
            cout << "无效操作\n";
    }
}
int main() {
    int choice;
    cout << "\n简易计算器\n";
    cout << "1. 加法\n";
    cout << "2. 减法\n";
    cout << "3. 乘法\n";
    cout << "4. 除法\n";
    cout << "5. 退出\n";
    do{
        displayMenu();
        cin >> choice;
        if (cin.fail()) {
            cin.clear();
            cin.ignore(numeric_limits<streamsize>::max(), '\n');
            cout << "无效输入,请输入1-5的数字\n";
            continue;
        }
        if (choice >= 1 && choice <= 4) {
            performOperation(choice);
        } else if (choice != 5) {
            cout << "无效选择,请重新输入\n";
        }
    } while (choice != 5);

    cout << "感谢使用计算器,再见!\n";
    return 0;

}


0
薛煜杰
薛煜杰
修练者
修练者

不是,抄袭我的啊!o( ̄ヘ ̄o#)

0
0
我要回答