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

能看看为啥我在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日

悬赏问题

  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊
  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题
  • ¥15 企业资源规划ERP沙盘模拟
  • ¥15 树莓派控制机械臂传输命令报错,显示摄像头不存在
  • ¥15 前端echarts坐标轴问题
  • ¥15 ad5933的I2C