Глава 5. Итоговый тест

   ⁄ 

 Обновлено 5 Авг 2017

  ⁄   

Поздравляю! Мы продвинулись еще на одну главу дальше. Чтобы закрепить пройденный материал на деле, повторим быстренько теорию и выполним 2 практических задания.

Теория

Операторы if позволяют выполнить код, основываясь на результате условия (истинно оно или нет). Если условие оказалось ложное, то выполняется оператор else. Можно объединять несколько операторов if и else вместе.

Операторы switch обеспечивают более удобный и быстрый способ использования условий в коде. Они отлично сочетаются с перечислениями.

Операторы goto позволяют переносить точку выполнения в программе из одного места в другое. Их использовать мы не рекомендуем.

Циклы while позволяют программе выполнять код до тех пор, пока определенное условие истинно. Сначала вычисляется условие, затем выполняется код.

Циклы do while – это те же циклы while, только сначала выполняется код, а затем уже проверяется условие. Они отлично подходят для вывода меню или других элементов, так как позволяют выполнить код хотя бы один раз.

Циклы for — наиболее используемые циклы, идеальны, когда нужно выполнить код определенное количество раз.

Операторы break позволяют немедленно завершить выполнение операторов switch, циклов while, do while или for.

Операторы continue позволяют немедленно перейти к следующей итерации цикла. Будьте осторожны при использовании их в связке с циклами while или do while – не забывайте о возникновения проблемы с инкрементом счетчика цикла.

И, наконец, рандомные числа позволяют получать разные результаты выполнения одной и той же программы при каждом запуске.

Примечание: С этого момента тесты будут уже посложнее, но вы все равно с ними справитесь. Удачи!

Задание №1

В итоговом тесте главы №2 мы написали программу имитации мячика, падающего с башни. Так как тогда мы еще ничего не знали о циклах и не умели их использовать, то время полета мячика составляло всего лишь 5 секунд.

Используя программу ниже измените её так, чтобы мячик падал столько секунд, сколько необходимо, пока не достигнет земли.

В файле constants.h:

В основном файле:

Ответ 1

В файле constants.h:

В основном файле:

Задание №2

Напишите программу-игру типа 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
Your guess is too low.
Guess #3: 54
Your guess is too high.
Guess #4: 51
Correct! You win!
Would you like to play again (y/n)? y
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
Your guess is too low.
Guess #3: 54
Your guess is too high.
Guess #4: 51
Your guess is too high.
Guess #5: 36
Your guess is too low.
Guess #6: 45
Your guess is too low.
Guess #7: 48
Your guess is too low.
Sorry, you lose. The correct number was 49.
Would you like to play again (y/n)? q
Would you like to play again (y/n)? f
Would you like to play again (y/n)? n
Thank you for playing.

Подсказки:

* Используйте в качестве стартового числа в генераторе случайных чисел функцию time(0).

* Пользователям Visual Studio: Из-за плохой реализации функции rand() (первое рандомное число не сильно отличается от стартового) — вызовите rand() сразу после установки стартового числа, чтобы сбросить первый результат.

* Используйте функцию getRandomNumber() из урока 71 для выбора случайного числа.

* В функции, которая будет спрашивать у пользователя, не хочет ли он поиграть еще раз, используйте механизм обработки некорректного пользовательского ввода.

Ответ 2

Оценить статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (3 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в:
Подписаться на обновления:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *