Всем здравствуйте! Есть вот такой кусок кода. В конце кода пользователю предлагаю сделать выбор: играть дальше или отказаться. Не могу понять следующее: Как через switch сделать так, чтоб при нажатии на 1 - игра начиналась заново, при нажатии на 2 - заканчивалась, а при любом другом числе не равно 1 и 2 выдавала ошибку и просила снова ввести 1 или 2, ну и соответственно при вводе 1 или 2 выполняла вышеописанные задачи.
Пробовал заворачивать все в функцию - работает криво.
Спасибо за уделённое время!:)
int main()
{
srand(time(0));
int random = 1 + rand() % 1001;
int userNumber;
int userChose;
cout << "I randomed some number from 1 to 1000." << endl;
cout << "Please, try to catch it!" << endl;
cout << "Good luck!" << endl << endl;
cout << "Please enter your number: ";
cin >> userNumber;
cout << endl;
while (userNumber != random)
{
if (userNumber < random) {
cout << "Your number less then i randomed;" << endl;
cout << "Please, enter your number again: ";
cin >> userNumber;
cout << endl;
}
if (userNumber > random) {
cout << "Your number is bigger then i randomed" << endl;
cout << "Please, enter your number again: ";
cin >> userNumber;
cout << endl;
}
if (userNumber == random) {
cout << "You got it!" << endl << endl;
cout << "If you want to continue the game enter 1" << endl;
cout << "If you want to exit the game enter 2" << endl;
cout << "Your chose: ";
cin >> userChose;
cout << endl;
}
}
return 0;
}
Поместите игру в отдельную функцию, скажем, game()
.
Тогда ваш код будет иметь примерно такой вид:
for(int code; cin >> code; cout << "1 - еще раз, 2 - выход")
{
if (code == 1) game();
else if (code == 2) break;
cout << "Неверный ввод, повторите ";
}
Ну, или воспользуйтесь switch-case
, только тогда простого break
для выхода будет мало:
for(int code; cin >> code; cout << "1 - еще раз, 2 - выход")
{
bool quit = false;
switch(code)
{
case 1: game(); break;
case 2: quit = true; break;
default:
cout << "Неверный ввод, повторите ";
}
if (quit) break;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Есть библиотека для работы с файлами DICOM(специфические медицинские изображения) - https://dicomoffis
Проблема состоит в том, как отследить сигнал при смене песни в QMediaPlayer::durationChanged и это значение установить в Slider через свойство to?
Существует ли возможность в Qt посредством SIGNAL отследить, если было добавлено новое QWindow окно? Необходимо, чтобы определённый объект следил...