繁体   English   中英

随机数生成器游戏

[英]Random number generator game

#include <iostream>
#include <stdlib.h>

using namespace std;

void Guess(int Answer,int guess)
{
    if(guess!=Answer)
    {
        if(guess<Answer && guess!=Answer)
        {
            cout<<"The number is higher, try again"<<endl;
            cin>>guess;
        }
        else
            if(guess>Answer && guess!=Answer)
                {
                    cout<<"The number is lower, try again"<<endl;
                    cin>>guess;
                }
    }

}

int main()
{
    int Answer,guess;
    Answer=rand()%100;
    cout<<Answer<<endl;
    cout<<"Guess the number from 1 to 100"<<endl;
    cin>>guess;
    while(Answer!=guess)
       {
            Guess(Answer,guess);
            if(Answer==guess)
                break;
       }
       if(guess==Answer)
        cout<<endl<<"Congratulations, you guessed the number, it was "<<Answer<<" !";
}

因此,这是我学习一些基本功能之后编写的代码,您可能会说它应该生成一个随机数,然后您必须猜测数字是什么,但是我有一些问题:

  1. 它产生相同的随机数
  2. 如果您第一次猜对的话,即使您在某个时候猜到了数字,代码也会一直持续下去。
  3. 如果您猜出一个更大的数字,那么假设50,而答案是40,即使您猜到了30,它仍然说该数字应该是较低的。

我做错了什么?

void Guess(int Answer,int guess)更改为void Guess(int& Answer,int& guess)并添加srand ( time(NULL) ); 在int main的开头,以防止生成相同的数字

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM