我愿意用C++编写网球得分管理员的代码来跟踪得分,但是当我运行该程序时会出现2个问题:

  • 我无法使用while(cin!=“q”)
  • 退出循环
  • 函数不会初始化变量
    #include<iostream>
    #include<string>
    using namespace std;
    
    int points1=0, points2=0;
    int set1=0, set2=0;
    int games1=0, games2=0;
    string in="";
    void score(int point,int set,int game);
    int main()
    {
    
        do
        {
          cout<<"POINTS: "<<points1<<":"<<points2<<endl<<"SETS: "<<set1<<":"<<set2<<endl<<"GAMES: "<<games1<<":"<<games2<<endl;
          cout<<"Who scored - player 1 or player 2? (p1/p2) :  ";
          cin>>in;
          if(in=="p1")
          {
           void score(int points1,int set1,int games1);
          }
          else if(in=="p2")
          {
           void score(int points2,int set2,int games2);
          }
          else {cout<<endl<<"Error!"<<endl<<endl;}
          }
          while(cin!="q");
    
    
    
        system("pause");
            return 0;
       }
    
     void score(int& point,int& set,int& game){
      if(set<5)
      {
       switch(point)
       {
           case '30':
                point=point+10;
           case '40':
                set++;
                point=0;
           default:
                point=point+15;
          }
       }
       else game++;
    }
    
  • 最佳答案

    您想要一个带有while的无限break循环,还要摆脱函数调用中的defs类型-类似于:

    while (true) {
        cin >> in;
        if (in == "p1") {
            score(points1, set1, games1);
        }
        else if (in == "p2") {
            score(points2, set2, games2);
        }
        else if (in == "q") {
            break;
        } else {
            cout << endl << "Error!" << endl << endl;
        }
    }
    

    10-07 20:22