罐子里有多少口香糖。 2个错误

时间:2010-06-28 23:02:58

标签: c++

试着猜一下gumballs罐子里有多少个口香糖球,有点像。我一直有两个问题:

  1. 应该说是猜测是高还是低,但只有当我输入一个超过1000的数字时它才会发生,它说:
  2.   

    输入您的猜测:1001
      太高了!

         

    太低了!

         

    输入您的猜测:

    1. 如果你输入一个字母或短语,就会说:
    2.   

      输入您的猜测:
        太高了!

           

      太低了!

      但它一直说每分钟大约几百甚至一千次 - .-

      #include<iostream>
      #include<ctime>
      using namespace std;
      
      int main(void)
      {
           int iGumballs;
           int iUserguess;
           int iGuesses = 0;
      
          while(true)
          {
                 system("CLS");
                 cin.clear();
                 iGuesses = 0;
      
          srand(static_cast<unsigned int>(time(0)));
          iGumballs = rand()%1000+1;
          cout << "How many gumballs are in the gumball jar, you guess!" << endl;
          do
          {
              cout << "Enter your guess: ";
          cin>> iUserguess;
          if(iUserguess > iGumballs)
          {
                        cout << "Too High!" << endl << endl;
          }
          if(iUserguess > iGumballs)
          {
                        cout << "Too Low!" << endl << endl;
          }
          iGuesses ++;
      }while(iUserguess > iGumballs || iUserguess < iGumballs);
      cout << "You guessed the right amount of gumballs! High Five!" << endl << endl;
      cout << "You took" << iGuesses << " guesses" << endl << endl;
      system("PAUSE");
      }
      return 0;
      }
      

2 个答案:

答案 0 :(得分:3)

让我暗示一个问题。让我们来看看你打印消息“太高”和“太低”的两个检查:

    if(iUserguess > iGumballs)
    if(iUserguess > iGumballs)

当我把它们放在一起时注意到有什么问题?

答案 1 :(得分:1)

为什么不发布你遇到问题的代码部分,而不仅仅是让我们转储所有内容并要求我们解决它?

完全根据您对问题的描述,我建议您:

  1. 添加输入验证(这将解决您的第二个问题)
  2. 再看看检查数字是否过高/过低的代码
  3. 如果你仍然无法解决问题,请发布给您带来麻烦的代码部分,并解释您尝试过的内容和出了什么问题。