为什么我的代码不工作?
我正在制作一个简单的随机数猜猜游戏(下面的例子),它可以很好地工作,直到你的猜测高于数字。当它发生时,它会打印:“我的号码低于我的号码高于”当它只是应该打印时“我的号码低于此值”。此外,当你猜正确答案,它打印“我的号码是高于”为什么我的代码不工作?
我的代码是:
#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!";
}
你是不是在else语句测试条件。你需要测试它,否则它只是执行(guess < randynumeber);
- 它给出了一个逻辑答案,然后执行下一段代码,这是下一个cout
语句。
我刚刚改变了一下我的代码,但我没有明白你在说什么,我该如何测试它? – MrSam123
问题中的代码与您发布此答案时看到的代码不同吗?我只是从离线链接复制它。 – Barmar
是的,它看起来好像已经改变了 - 上面的答案也指的是对其他条件的缺失测试 – adrianmcmenamin
请在您的问题中发布代码。 – RedX
请勿发布代码链接。链接死亡。 – csmckelvey
'std :: cout George