ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 3) онлайн
Оператор continue
Оператор break производит выход из цикла. Тем не менее, могут возникнуть и такие ситуации, когда необходимо при определенном условии не выходить из цикла, а досрочно возвращаться в его начало. Именно таким эффектом обладает применение оператора continue (строго говоря, continue делает переход на завер- шающую фигурную скобку цикла, откуда производится обычный переход в нача- ло тела цикла). Действие оператора continue проиллюстрировано на рис. 3.18.
Расширенная таблица символов ASCII
Рис. 3.18. Исполнение выражения continue
Теперь немного изменим программу DIVDO. Как мы уже видели, эта програм- ма производит операцию деления, но в ней возможна фатальная ошибка: если пользователь введет ноль в качестве делителя, то произойдет аварийное завер- шение программы с выдачей сообщения Ошибка деления на ноль. Мы изменим исходный пример таким образом, чтобы подобная ситуация обрабатывалась более аккуратным способом.
// divdo2.cpp
// применение оператора continue #include <iostream> using namespace std;
int main() {
long dividend, divisor; char ch; do {
cout << "Введите делимое: "; cin >> dividend; cout << "Введите делитель: " ; cin >> divisor; if( divisor == 0 ) // при попытке
{ // деления на ноль
cout << "Некорректный делитель!\n"; // вывод сообщения continue; // возврат в начало цикла
}
cout << "Частное равно " << dividend / divisor; cout << ", остаток равен " << dividend % divisor; cout << "\nЕще раз?(y/n); "; cin >> ch; } while( ch != 'n'); return 0;
}
В том случае, если пользователь введет 0 в качестве делителя, программа выдаст сообщение о недопустимости введенного значения и повторит запросы на ввод значений сначала. Примером работы с такой программой является следующий:
Введите делимое: 10 Введите делитель: 0 Некорректный делитель! Введите делимое:
Оператор break, будучи примененным в данной ситуации, выполнил бы выход одновременно из цикла do и из программы, что явилось бы не лучшим разреше- нием ситуации.
Обратите внимание на то, что мы немного сократили формат цикла do: ключе- вое слово do находится в одной строке с открывающей фигурной скобкой, а сло- во while — с закрывающей фигурной скобкой.
12 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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
Схожі підручники
- ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 9) онлайн
- Соціологія Навчально-методичний посібник для студентів всіх напрямків (частина 2)
- Мне тебя обещали (онлайн)
- МЕТОДИЧНІ РЕКОМЕНДАЦІЇ ДО ПРОВЕДЕННЯ СЕМІНАРСЬКИХ ЗАНЯТЬ, ОРГАНІЗАЦІЇ І ПРОВЕДЕННЯ САМОСТІЙНОЇ ТА ІНДИВІДУАЛЬНО-КОНСУЛЬТАЦІЙНОЇ РОБОТИ СТУДЕНТІВ
- конспект з курсу Філософія
- Страхові послуги (частина 1)