Гриб_под_зонтом,
Тоже изучаю C++.
рандомное число не всегда целое
Быть не может: int x - целое, иначе компилятор бы выругался.
перестало выводиться game over
Каждый цикл d = 0; Беспроигрышный вариант )))
Вот мой вариант (фтопку goto):
#include <iostream>
#include <cstdlib>
#include <ctime>
int main(){
using namespace std;
cout << "Привет! Сейчас я предлагаю тебе сыграть в игру Угадай число.\n"
"Итак начнём: я загадал число от 0 до 100. Твоя задача угадать его:\n";
int k;
int x;
for (int d = 0; d < 5; d++){
srand(time(0));
x = rand()%(101);
cout << "Твое число:\n"; //cout << "[x = " << x << "] for debug\n";
cin >> k;
if (k > x)
cout << "Ты не угадал! Твое число больше загаданого!\n";
else if (k < x)
cout << "Ты не угадал! Твое число меньше загаданого!\n";
else {
cout << "Молодец! Ты угадал!\n";
return 0;
}
}
cout << "Game Over\n";
return 0;
}
Кажется, всё работает )))
В маленьких программках, тем более, пока учишься, удобно выводить интересующую тебя переменную прямо в коде. ИМХО
Ступил, число же один раз загадывается) Вот так будет правильнее:
#include <iostream>
#include <cstdlib>
#include <ctime>
int main(){
using namespace std;
cout << "Привет! Сейчас я предлагаю тебе сыграть в игру Угадай число.\n"
"Итак начнём: я загадал число от 0 до 100. Твоя задача угадать его:\n";
int k;
srand(time(0));
int x = rand()%(101);
for (int d = 0; d < 5; d++){
cout << "Твое число:\n"; //cout << "[x = " << x << "] for debug\n";
cin >> k;
if (k > x)
cout << "Ты не угадал! Твое число больше загаданого!\n";
else if (k < x)
cout << "Ты не угадал! Твое число меньше загаданого!\n";
else {
cout << "Молодец! Ты угадал!\n";
return 0;
}
}
cout << "Game Over\n";
return 0;
}