online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code    Language
/****************************************************************************** Напишите программу-игру типа hi-lo. Во-первых, ваша программа должна выбрать случайное целое число в диапазоне от 1 до 100. Пользователю дается 7 попыток угадать это число. Если пользователь не угадывает правильное число, то программа должна подсказывать, была ли его догадка слишком большой или слишком маленькой. Если пользователь угадывает число, то программа должна сообщить, что всё верно, вы выиграли. Если же у пользователя кончились попытки, и он не угадал число, то программа должна сообщить ему, что он проиграл и показать правильный ответ. В конце игры программа должна спросить у пользователя, не хочет ли он поиграть снова. Если пользователь не ведет ни «y», ни «n» (а что-то другое), то программа должна спросить снова. Вот так примерно должен выглядеть вывод вашей программы: Let's play a game. I'm thinking of a number. You have 7 tries to guess what it is. Guess #1: 64 Your guess is too high. Guess #2: 32 *******************************************************************************/ #include <iostream> #include <cstdlib> // подключаем библиотеку для использования функций srand() и rand() #include <ctime> // подключаем библиотеку для функции time() using namespace std; // понимаем зачем включаем все пространство имен // ***************************************************************************** // ФУНКЦИЯ ДЛЯ ПОЛУЧЕНИЯ СЛУЧАЙНОГО ЧИСЛА В ДИАПАЗОНЕ ОТ 1 ДО 100 * //****************************************************************************** int getRandomNumber() { srand(static_cast<unsigned int>(time(0))); // получаем стартовое число int randomNumber = rand(); // создаем переменную и присваиваем ей случайное число static const double fraction = 1.0 / (static_cast<double>(RAND_MAX) + 1.0); // далее мы по формуле сужаем диапазон в 1-100 // Формулу я не понимаю, она взята из урока randomNumber = static_cast<int>(rand() * fraction * (100 - 1 + 1) + 1); return randomNumber; // возвращаем значение инициатору } //****************************************************************************** //****************************************************************************** // ФУНКЦИЯ ДЛЯ ВВОДА ОТ ПОЛЬЗОВАТЕЛЯ ЧИСЛА * //****************************************************************************** int getNumber() { int a; std::cout << "Введите целое число от 1 до 100: "; std::cin >> a; if (a <0 || a>100) // проверяем что введенное число в нашем диапазане { for (int i = 0; i<2; ++i) // если нет, то запускаем цикл из 3 попыток { cout<< "Вы ввели число не из диапазона от 1 до 100. Попробуйте еще раз.\n"; std::cin >> a; // просим ввести число еще раз } cout << "Вы 3 раза ввели неправильное число, поэтому программа закрывается."; // выводим сообщение об ошибке exit(0); } return a; // если же все нормально, то возвращаем число инициатору } //****************************************************************************** int main() { setlocale (LC_ALL, "rus"); // устанавливаем русский язык для ввода/вывода cout << "Давай поиграем в игру Больше/Меньше. Я загадаю число, а ты попробуешь его отгадать.\nУ тебя будет 7 попыток. После каждой попытки я буду подсказывать - твое число больше или меньше моего.\n\n"; cout << "Если хочешь сыграть нажми Y если не хочешь играть нажми N\n"; char enterYesOrNot; // вводим символьную переменную для получения ответа от пользователя cin >> enterYesOrNot; if (enterYesOrNot == 'Y') { char enterRepeatYesOrNot; // вводим символьную переменную для получения ответа от пользователя do // запускаем цикл DO/WHILE Прогоняем игру 1 раз и запускаем цикл если он захочет еще раз { int guessNumber = getRandomNumber(); // получаем случайное число через функцию for (int i=1; i<10; ++i) // запускаем цикл угадывания из 7 попыток { if (i<8) // если счетчик менее 7 попыток, то играем дальше { cout << "Попытка №" << i << ": \n"; int enterNumber = getNumber(); // получаем от пользователя число if (enterNumber < guessNumber) cout << "Ваше число меньше загаданного. Попробуйте еще раз.\n"; else if (enterNumber > guessNumber) cout << "Ваше число больше загаданного. Попробуйте еще раз.\n"; else { cout << "Поздравляю! Вы угадали число.\n"; break; } } else // если счетчик больше 7 попыток, то выводим сообщение о проигрыше и прекращаем цикл for { cout << "Вы превысили количество попыток и поэтому проиграли.\n Загаданное число: " << guessNumber << "\n"; break; } } cout << "Если хочешь сыграть еще раз нажми Y если не хочешь играть нажми N "; cin >>enterRepeatYesOrNot; } while (enterRepeatYesOrNot == 'Y'); // запускаем игру еще раз пока Y } return 0; }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue