goc(类似于c++)计算器制作问题

goc(类似于c++)做计算器,做一半发现算减法=算加法,算除法=算加法,加法和乘法没问题。

int main(){
    int gn,fh,s1,s2;
    while(1){
        p.hide().up().fd(100).text("欢迎来到数学计算器!",0).bk(50).text("本计算器提供加减乘除,幂运算,",0).bk(50).text("图形周长、面积计算,立体图形棱长总和、表面积、体积计算等功能",0);
        wait(5);
        p.cls();
        p.fd(50).text("请输入您的计算类型(1:加减乘除;2:幂运算;3:图形周长、",0).bk(50).text("面积计算;4:立体图形棱长总和、表面积、体积计算;5:退出):",0);
        p.bk(50);
        cin >> gn;
        if (gn==1){
            p.cls();
            p.text("请输入运算符号(1:+ ; 2:- ; 3:* ; 4:/)(暂不支持负数及结果为负数的运算):",0).bk(50);
            cin >> fh;
            p.cls();
            p.text("请输入第一个数字和第二个数字(用空格隔开)",0).bk(50);
            cin >> s1 >> s2;
            p.cls();
            p.fd(100).text("结果为:",0).bk(50);
            
            if(fh=1){
                p.text(s1+s2,1);
            }
            else if(fh=2){
                p.text(s1-s2,1);
            }
            else if(fh=3){
                p.text(s1*s2,1);
            }
            else if(fh=4){
                p.text(s1/s2,1);
            }
            wait(10);
            p.cls();
        }
    }
    
    return 0;
}


#include <iostream>
using namespace std;

int main() {
    int gn, fh, s1, s2;

    while (true) {
        cout << "欢迎来到数学计算器!" << endl;
        cout << "本计算器提供加减乘除,幂运算,图形周长、面积计算,立体图形棱长总和、表面积、体积计算等功能" << endl;

        cout << "请输入您的计算类型(1:加减乘除;2:幂运算;3:图形周长、面积计算;4:立体图形棱长总和、表面积、体积计算;5:退出):" << endl;
        cin >> gn;

        if (gn == 5) {
            break; // 用户选择退出,跳出循环
        }

        switch (gn) {
            case 1: {
                cout << "请输入运算符号(1:+ ; 2:- ; 3:* ; 4:/)(暂不支持负数及结果为负数的运算):" << endl;
                cin >> fh;

                cout << "请输入第一个数字和第二个数字(用空格隔开):" << endl;
                cin >> s1 >> s2;

                cout << "结果为:";

                if (fh == 1) {
                    cout << s1 + s2 << endl;
                } else if (fh == 2) {
                    cout << s1 - s2 << endl;
                } else if (fh == 3) {
                    cout << s1 * s2 << endl;
                } else if (fh == 4) {
                    if (s2 == 0) {
                        cout << "除数不能为0。" << endl;
                    } else {
                        cout << s1 / s2 << endl;
                    }
                }

                break;
            }

            // 其他计算类型的处理可以在这里添加

            default:
                cout << "无效的选择。" << endl;
        }

        cout << endl;
    }

    return 0;
}

修复了代码中的问题,并使用了更标准的coutcin来进行输入输出。通过使用switch语句,我们可以轻松地添加更多的计算类型处理。

if(fh=1)
这里是==吧,因为你前面gn==1这里用了==
下面还有几处