Использование 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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!