私は単純な乱数推測ゲームを作っています(下の例を参照)。推測が数字よりも高くなるまで完全に動作します。それが起こると、「私の数字はそれよりも低いです。私の数字はそれよりも高い」「私の数字はそれよりも低い」という文字を印刷することになっています。なぜ私のif elseコードは動作しませんか?
#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 else 'に注意してください。 argsはありません)。また、「やめろ」とは何を期待していますか?そしてあなたは推測を増やしていません。 – George