粥粥528 2022-01-28 15:50 采纳率: 84%
浏览 21
已结题

能看看为啥我在vs上运行编译没错但是输出有误


#include<iostream>
using namespace std;
class Score{
    int home,oppo;
public:
    Score(){
        home=0;
        oppo=0;
    }
    void set(int a,int b){
        home=a;
        oppo=b;
    }
    void GetOpponent(){
        cout << home <<" : "<< oppo <<endl;
    }
    int cmp(){
        if(home>oppo) return 1;
        return 0;
    }
};
int main(){
    Score s[4];
    do{
        int n;
        cout << "**********1.输入 3 场比赛得分**********" << endl;
        cout << "**********2.修改某场比赛得分**********" << endl;
        cout << "**********3.查询某场比赛得分**********" << endl;
        cout << "**********4.输出冠军(主队or客队)**********" << endl;
        cout << "**********0.返回主菜单**********" << endl;
        cin >> n;
        if(n==1) {
            int a,b;
            cin >> a >>b;
            s[1].set(a,b);
            cin >> a >>b;
            s[2].set(a,b);
            cin >> a >>b;
            s[3].set(a,b);
        }
        if(n==2){
            do{
                int a,b,c;
                cin >> c;
                if(!c) break;
                cin >> a >>b;
                s[c].set(a,b);
                }while (1);
        }
        if(n==3){
            do{
                int c;
                cin >> c;
                if(!c) break;
                s[c].GetOpponent();
            }while(1);
        }
        if(n==4){
            int x;
            x=s[1].cmp()+s[2].cmp()+s[3].cmp();
            if(x>1) cout << "主队胜!"<<endl;
            else cout << "客队胜!"<<endl;
        }
        if(n==0) return 0;
    }while(1);
    return 0;
}

输入输出示例:
1.输入 3 场比赛得分
2.修改某场比赛得分
3.查询某场比赛得分
4.输出冠军(主队or客队)
0.返回主菜单
1
98 67
105 103
88 96
1.输入 3 场比赛得分
2.修改某场比赛得分
3.查询某场比赛得分
4.输出冠军(主队or客队)
0.返回主菜单
2
2
103 105
0
1.输入 3 场比赛得分
2.修改某场比赛得分
3.查询某场比赛得分
4.输出冠军(主队or客队)
0.返回主菜单
3
2
103 : 105
0
1.输入 3 场比赛得分
2.修改某场比赛得分
3.查询某场比赛得分
4.输出冠军(主队or客队)
0.返回主菜单
4
客队胜!
1.输入 3 场比赛得分
2.修改某场比赛得分
3.查询某场比赛得分
4.输出冠军(主队or客队)
0.返回主菜单
0

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2022-01-29 13:26
    关注

    代码输出没问题啊,第一次输入:
    98 67
    105 103
    88 96
    然后修改第2场比赛分数:103 : 105 ,
    此时三场比赛得分:
    98 67 98 > 67 return 1;
    103 105 103 < 105 return 0;
    88 96 88 < 96 return 0;
    最后输出冠军:
    x = 1+ 0 + 0 = 1 , x <=1 cout << "客队胜!"<<endl;

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 2月7日
  • 已采纳回答 1月30日
  • 创建了问题 1月28日

悬赏问题

  • ¥30 STM32 INMP441无法读取数据
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境