我正在制作一个简单的随机数猜猜游戏(下面的例子),它可以很好地工作,直到你的猜测高于数字。当它发生时,它会打印:“我的号码低于我的号码高于”当它只是应该打印时“我的号码低于此值”。此外,当你猜正确答案,它打印“我的号码是高于”为什么我的代码不工作?
我的代码是:
#include <iostream>
#include <unistd.h>
#include <cstdlib>
int main() {
int highnum;
int guess;
srand(time(0));
std::cout << "Pick a number greater than 2";
std::cin >> highnum;
int randynumeber = (rand() % highnum) + 1;
std::cout << "I have picked a random number between 1 and " << highnum << " which you need to try and guess";
int guesses = 0;
int stop = 0;
while (guess != randynumeber)
{
if (stop == 0)
{
sleep(0.1);
stop = 1;
std::cout << std::endl << "Guess a number";
std::cin >> guess;
if(guess>randynumeber)
std::cout << "My number is lower than that";
else if(guess<randynumeber)
std::cout << "My number is higher than that";
stop = 0;
}
}
std::cout << std::endl << "guesses = " << guesses;
std::cout << "You win!";
}
请在您的问题中发布代码。 – RedX
请勿发布代码链接。链接死亡。 – csmckelvey
'std :: cout <<“我的编号比那个更高”;'将始终打印,因为它没有任何条件(注意';'&'else'应该是'else if'还是简单地'else'没有args)。另外,你期望'停止'做什么?而你并没有增加猜测。 – George