Использование break для выхода из цикла
С помощью предложения break имеется возможность выполнить немедленный выход из цикла, обойдя проверку условия. Если внутри цикла встречается предложение break, цикл немедленно завершается и управление передаётся на предложение, следующее за циклом.
Вот простой пример
Задание 5-15
// 5_15 BREAK.cpp: главный файл проекта.
// Использование break для выхода из цикла
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
setlocale (LC_ALL,"Russian");
int t;
// Цикл от 0 до 9, не до 100
for (t=0; t<100; t++) {
if (t==10) break; //выход из цикла при t= 10
cout << t << " ";
}
_getch();
}
Запишите результат вывода на экран:
Если циклы вложены друг в друга, break осуществляет выход только из самого внутреннего цикла.
Примером такого использования может служить приведённая ниже программа.
Задание 5-16
// Задание 5_16.cpp: определяет точку входа для консольного приложения.
// Использование break для выхода из цикла
// в случае вложенных циклов (только из вложенного)
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
int t, count;
for (t = 0; t<10; t++) {
count = 1;
for (;;) {
cout << count << " ";
count++;
if (count == 10) break; //выход из цикла при count=10
}
cout << "\n";
}
return 0;
}
Распишите вывод этой программы и проверьте правильность её работы.
|
|
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
Предложение break может быть использовано с любым предложением цикла. Оно особенно удобно, когда некоторое определённое условие должно привести к немедленному завершению цикла, в том числе и бесконечного, показанного в задании 5_16.
Использование continue
Существует возможность принудительно завершить некоторый шаг цикла, обойдя нормальную управляющую структуру цикла. Это действие выполняется с помощью предложения continue, вид которого:
continue;
Это предложение заставляет цикл перейти к следующему шагу, обойдя любой код между continue и условным выражением, управляющим циклом.
На примере это выглядит следующим образом:
Программа выводит на экран четные числа от 0 до 100.
// 5_19 CONT.cpp: главный файл проекта.
// Программа выводит чётные числа из диапазона от0 до 100
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
setlocale (LC_ALL,"Russian");
int x;
for (x=0; x<=100; x++) {
if (x%2) continue; //досрочно завершить шаг, если х – нечётно.
cout << x << " ";
|
|
}
_getch();
}
Проект 3-3 Справочная система С++
Завершение разработки справочной системы
1. Скопируйте файл проекта 3-1 (HELP2. cpp)и назовите его HELP3
2. Окружите весь программный код бесконечным циклом for. Выйдите из этого цикла посредством предложения в случае ввода символа q .
3. Измените цикл меню как это показано ниже:
do {
cout << " Справка по:\n";
cout << " 1. if \n";
cout << " 2. switch \n";
cout << " 3. for \n";
cout << " 4. while \n";
cout << " 5. do-while \n";
cout << " 6. break \n";
cout << " 7. continue \n";
cout << " 8. goto \n";
cout << " Выберите один из пунктов (q- для завершения):";
cin >> choice;
} while (choice < ‘1’ || choice > ‘8’ && choice != ‘q’);
При внесении такого дополнения программа будет крутиться в цикле, выводя меню, до тех пор пока пользователь не введёт число между 1 и 8 или символ q.
4. Расширьте предложение switch, включив в него предложения break, continue, goto.
Усовершенствованный вариант программы поместите после заголовка
Задание 5-17
Вложенные циклы
Вложенные циклы решают широкий спектр программистских задач и являются существенным элементом программирования. В приводимой ниже программе вложенный цикл используется для нахождения множителей чисел от 2 до 100.
|
|
Задание 5-18
// Задание 5_18.cpp: определяет точку входа для консольного приложения.
// Нахождение множителей чисел от 2 до 100
// - числа, на которые исходные делятся без остатка
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
for (int i = 2; i <= 100; i++) {
cout << " Множители числа " << i << ": ";
for (int j = 2; j<i; j++)
if (i%j == 0) cout << j << " ";
cout << "\n";
}
return 0;
}
Дата добавления: 2019-07-15; просмотров: 200; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!