Оволодіння циклом Do-While в C++: Повний посібник 🔄💻

do-while цикл — це універсальна конструкція циклу в C++, яка гарантує, що тіло циклу виконується принаймні один раз перед тим, як буде оцінено умову циклу. Це робить її особливо корисною в таких сценаріях, як програми з меню, перевірка введення та ситуації, де потрібно виконати початкову операцію без умов.

У цьому блозі ми розглянемо синтаксис, функціональність, варіанти використання та приклади використання циклу do-while у C++. Давайте зануримось у це! 🚀

pic

Що таке цикл do-while? 🤔

Цикл do-while — це посттестовий цикл, що означає, що умова перевіряється після виконання тіла циклу. Це гарантує, що тіло циклу буде виконано хоча б один раз, незалежно від того, чи є умова спочатку істинною чи хибною.

Синтаксис:

do {  
 // Тіло циклу  
} while (умова);
  • Тіло циклу: Блок коду, який виконується повторно.
  • Умова: Булева вираз, який визначає, чи буде цикл продовжено. Цикл завершується, коли умова набирає значення false.
  • Точка з комою: Цикл do-while завершується крапкою з комою (;), на відміну від інших циклів.

Як працює цикл do-while 🛠️

  1. Тіло циклу виконується без умови.
  2. Перевіряється умова.
  3. Якщо умова істинна, тіло циклу виконується знову.
  4. Якщо умова хибна, цикл завершується.

Ключові особливості циклу do-while 🌟

  1. Гарантоване виконання: Тіло циклу виконується хоча б один раз.
  2. Ідеально підходить для перевірки введення: Гарантує, що користувача буде запитано хоча б один раз перед перевіркою введення.
  3. Посттестовий цикл: Умова перевіряється після виконання тіла циклу, на відміну від циклів while.

Приклади використання циклів do-while 📚

Розглянемо практичні приклади, щоб зрозуміти, як ефективно використовувати цикли do-while.

1. Перевірка введення

Переконайтесь, що користувач вводить число від 1 до 5:

#include   
using namespace std;  

int main() {  
 int number;  
 do {  
 cout << "Введіть число від 1 до 5: ";  
 cin >> number;  
 if (number < 1 || number > 5) {  
 cout << "Невірне введення. Спробуйте ще раз.\n";  
 }  
 } while (number < 1 || number > 5);  
 cout << "Ви ввели: " << number << endl;  
 return 0;  
}

Виведення:

  • Введення: 0Невірне введення. Спробуйте ще раз.
  • Введення: 6Невірне введення. Спробуйте ще раз.
  • Введення: 3Ви ввели: 3

2. Програма з меню

Створимо просту систему меню для взаємодії з користувачем:

#include   
using namespace std;  

int main() {  
 char selection;  
 do {  
 cout << "\nМеню:\n";  
 cout << "1. Опція 1\n";  
 cout << "2. Опція 2\n";  
 cout << "3. Опція 3\n";  
 cout << "Q. Вийти\n";  
 cout << "Введіть ваш вибір: ";  
 cin >> selection;  
 if (selection == '1') {  
 cout << "Ви вибрали Опцію 1.\n";  
 } else if (selection == '2') {  
 cout << "Ви вибрали Опцію 2.\n";  
 } else if (selection == '3') {  
 cout << "Ви вибрали Опцію 3.\n";  
 } else if (tolower(selection) != 'q') {  
 cout << "Невірний вибір. Спробуйте ще раз.\n";  
 }  
 } while (tolower(selection) != 'q');  
 cout << "До побачення!\n";  
 return 0;  
}

Виведення:

Меню:  
1. Опція 1  
2. Опція 2  
3. Опція 3  
Q. Вийти  
Введіть ваш вибір: 2  
Ви вибрали Опцію 2.  

Меню:  
1. Опція 1  
2. Опція 2  
3. Опція 3  
Q. Вийти  
Введіть ваш вибір: Q  
До побачення!

Обчислення площі з повторенням

Обчислімо площу прямокутників, поки користувач не вийде:

include

using namespace std;

int main() {
char selection;
do {
double width, height;
cout << "Введіть ширину: ";
cin >> width;
cout << "Введіть висоту: ";
cin >> height;
double area = width * height;
cout << "Площа: " << area << endl;
cout << "Бажаєте обчислити ще одну площу (Y/N)? ";
cin >> selection;
} while (tolower(selection) == 'y');
cout << "Дякуємо за використання калькулятора площ!" << endl;
return 0;
}
```

Виведення:

Введіть ширину: 5  
Введіть висоту: 10  
Площа: 50  
Бажаєте обчислити ще одну площу (Y/N)? y  

Введіть ширину: 7  
Введіть висоту: 3  
Площа: 21  
Бажаєте обчислити ще одну площу (Y/N)? n  
Дякуємо за використання калькулятора площ!

Порівняння: While vs. Do-While ⚔️

pic

Кращі практики використання циклів do-while ✅

Використовуйте, коли виконання має відбутися хоча б один раз:

  • Ідеально підходить для таких завдань, як показ меню або запит користувача.

Забезпечте чітке умови виходу:

  • Уникайте нескінченних циклів, переконавшись, що умова зрештою стане false.

Тримайте логіку простою:

  • Дотримуйтесь принципу KISS (Keep It Simple, Stupid), щоб уникнути надмірно складних умов.

Комбінуйте з перевіркою введення:

  • Використовуйте перевірку введення для забезпечення надійної взаємодії з користувачем.

Коли використовувати цикл do-while 🤔

  • Меню-системи: Показувати меню хоча б один раз і повторювати до тих пір, поки користувач не вибере вихід.
  • Перевірка введення: Запитувати користувача на правильне введення і повторно запитувати за потреби.
  • Початкові операції: Виконати задачу без умови перед тим, як перевірити, чи слід її повторювати.

Висновок 🎉

Цикл do-while в C++ є незамінним інструментом для сценаріїв, коли хоча б один прохід тіла циклу обов'язковий. Його посттестова природа робить його ідеальним для перевірки введення, меню-драйвних програм і повторюваних завдань з чіткими умовами виходу. Зрозумівши його синтаксис і практичне застосування, ви зможете ефективно використовувати цикл do-while, щоб спростити ваш код і покращити його зручність для читання.

Експериментуйте з наведеними прикладами та не забувайте ретельно перевіряти умови, щоб уникнути нескінченних циклів. Успіхів у програмуванні! 🚀

by : Malinda Gamage

Перекладено з: Mastering the Do-While Loop in C++: A Complete Guide 🔄💻

Leave a Reply

Your email address will not be published. Required fields are marked *