Цикл while в C++: синтаксис и игра
Цикл while
является важнейшим компонентов в любом языке программирования. Данный цикл выполняет определенные действия, пока условие истинно.
Структура цикла while
Цикл while
имеет самую простую структуру из всех циклов (по сравнению с тем же циклом for). Однако имеет несколько отличий:
1 2 3 |
while ( <условие выполнения> ) { <выполняемый код> } |
Теперь давайте я вам подробнее расскажу об его синтаксисе:
- Ключевое слово
while
. - После, в круглых скобках, указываем логическое выражение. Цикл будет выполнятся до тех пор, пока оно истинно.
- Далее идет тело цикла. Это собственно тот код, который должен выполняться. Фигурные скобки можно опустить, в том случае, если мы указали лишь одну операцию.
Теперь, чтобы закрепить знания, давайте напишем простенькую программу, а затем разберем ее.
Пример
Данная программа поочередно получает числа, а затем выводит сообщения для каждого из них: четное или нечетное. Вот код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
setlocale(0, ""); // устанавливаем локаль cout << "Программа определяет, четное число или нет." << endl; cout << "Введите -1 для завершения работы программы." << endl; int number; cout << endl << "Ваше число: "; cin >> number; while (number != -1) { if (number % 2 == 0) cout << "Четное" << endl; else cout << "Нечетное" << endl; cout << "Введите число: "; cin >> number; } |
Данная программа при ее запуске выдаст следующее:
Теперь давайте подробнее разберем пример:
- Строка 1: устанавливаем локаль.
- Строки 3-4: выводим краткое описание программы.
- Строки 6-8: вводим первое число.
- Строки 10-16: это цикл
while
. Давайте его рассмотрим поподробнее:- в качестве логического выражения выступает следующее условие:
number != -1
. Пока введенное число не будет равным -1, цикл будет выполняться; - далее идет оператор ветвления if. В нем мы проверяем число. Если оно оказывается четным, то мы выводим соответствующее сообщение. Иначе, выводим «Нечетное»;
- ну и в конце, мы считываем очередное число, которое будет обработано в следующей итерации цикла while;
- в качестве логического выражения выступает следующее условие:
- Конец программы.
По правде говоря, в данном случае лучше бы подошел цикл do while. Его использование позволило бы сэкономить немного места. Чтобы узнать почему, пройдите по ссылке.
while: реализуем простую игру
Теперь давайте соберем все свои знания которые касаются цикла while
и создадим полноценное консольное приложение.
Оно будет делать следующее:
- Программа загадывает число из определенного промежутка.
- Пользователь вводит число.
- Программа выводит следующее:
- мое число меньше;
- ты угадал;
- мое число больше;
- Затем мы возвращаемся к пункту 2 до тех пор, пока пользователь не угадает число.
Вот суть программы. Вот ее реализация на C++:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
#include <iostream> #include <stdlib.h> #include <ctime> using namespace std; int main() { setlocale(0, ""); srand(time(0)); // задаем зерно случайной последовательности int l, r; // границы случайного числа cout << "Введите ограничения на число [l, r]: "; cin >> l >> r; // ввод чисел int number = l + rand() % (r - l + 1); // случайное число int userNumber; cout << endl << "Твое число: "; cin >> userNumber; while (number != userNumber) { // цикл while if (number < userNumber) // проверка cout << "Мое число меньше " << userNumber << endl; else if (number > userNumber) // иначе cout << "Мое число больше " << userNumber << endl; cout << "Попробуй еще раз: "; сin >> userNumber; } cout << endl << "Ты угадал!" << endl; // поздравление return 0; } |
Вот пример работы программы:
Здесь для вас должно быть понятным. Однако отмечу лишь строку №8. В ней задается зерно псевдослучайных чисел (если интересно, пройдите по ссылке и почитайте на Википедии). Попробуйте поиграть с данной программой сами.
Можете попробовать сыграть следующим образом: задайте ограничения от 0 до 1000000. После чего, попытайся отгадать число за 25 ходов. Если не знаешь как это сделать, то задай вопрос в комментариях.
На этом наш урок закончен. Осталось только проверить свои знания!
В качестве домашнего задания, попытайтесь сделать программу, которая сома отгадывает ваше число. На этом все. Если статья оказалась полезной, то поделись ею в социальных сетях! Удачи!
Добавить комментарий