Я делаю простую игру с гадостью случайных чисел (пример ниже), и она отлично работает, пока ваше предположение не будет больше числа. когда это происходит, он печатает: «Мой номер ниже, чем это число, которое больше, чем это» Когда он только что должен печатать «Мой номер ниже этого». Кроме того, когда вы угадать правильный ответ, он печатает «Мой номер выше, чем у»Почему не работают мои коды 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 if' или просто 'else' с нет аргументов). Кроме того, что вы ожидаете от 'stop'? И вы не увеличиваете догадки. – George