Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/studb20/public_html/index.php on line 4
 Цикл do - ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 3) онлайн - Studbook

ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 3) онлайн

Цикл do

В цикле while условие продолжения выполнения цикла помещалось в начало цикла. Это означало, что в случае невыполнения условия при первой проверке тело цикла вообще не исполнялось. В некоторых случаях это целесообразно, но возможны и ситуации, когда необходимо выполнить тело цикла хотя бы один раз вне зависимости от истинности проверяемого условия. Для этого следует ис- пользовать цикл do, в котором условие продолжения цикла располагается не пе- ред, а после тела цикла.

Наш следующий пример DIVDO выводит приглашение ввести два числа: дели- мое и делитель, а затем производит целочисленное деление с использованием операций / и % и выводит полученные частное и остаток.

// divdo.cpp // применение цикла do #include <iostream> using namespace std;

int main() {

long dividend, divisor; char ch;

do          // начало цикла do

{              // действия

cout << "Введите делимое: " ; cin >> dividend; cout << "Введите делитель: " ; cin >> divisor; cout << "Частное равно " << dividend / divisor; cout << ", остаток равен " << dividend % divisor;

 cout << "\nЕще раз?(y/n);  ";

 cin >> ch; }

while(ch != 'n'); // условие цикла return 0;

}

Большая часть программы находится в составе тела цикла do. Ключевое сло- во do обозначает начало цикла. Затем, как и в других циклах, следует тело, об- рамленное фигурными скобками. Завершает цикл условие продолжения, описы- ваемое с помощью ключевого слова while. Это условие похоже на условие цикла while, но у него есть два отличия: оно располагается в конце цикла и завершает- ся точкой с запятой (;). Синтаксис цикла do показан на рис. 3.5.

Перед тем как производить вычисление, программа DIVDO спрашивает поль- зователя, хочет ли он произвести это вычисление. Если в ответ программа полу- чает символ 'y', то выражение

ch != 'n'

сохраняет значение true. В случае, если пользователь вводит 'n', условие продол- жения цикла не выполняется и происходит выход из цикла. На рис. 3.6 приве- дена схема функционирования цикла do.

Вот пример возможного вывода программы DIVDO:

Введите делимое: 11

Введите делитель: 3

Частное равно 3, остаток равен 2

Еще раз? (y/n):  у

Введите делимое: 222

Введите делитель: 17

Частное равно 13, остаток равен 1

Еще раз? (y/n): n

Рис. 3.5. Синтаксис цикла do

Рис. 3.6. Исполнение цикла do

 

20