Операторы break и continue в C++




break и continue c++Оператор break в C++

С оператором break вы уже встречались, если читали наши статьи об операторе switch и о цикле for. И наверняка уже имеете представление о том, как он работает. Поговорим еще немного об этом операторе, возможно кому-то будет полезно.

Достаточно часто при использовании циклов и почти всегда при использовании оператора switch, программисту необходимо прервать выполнение тела цикла или тела switch соответственно. break, как раз используется в таких случаях. Так же, с помощью этого оператора прерывается бесконечный цикл. Когда его нужно прервать, в тело цикла добавляется условие, при выполнении которого сработает оператор break, а цикл завершит работу. В следующем примере, реализована простая игра: один игрок загадывает число от 1 до 7, второй должен отгадать его.

Чтобы всё было честно и игрок, который загадывает, не мог ввести число из недопустимого диапазона, запускаем бесконечный цикл в котором и происходят ввод и проверка числа. Если число соответствует необходимому диапазону – цикл прерывается (строки 15 – 18), если же нет – на экране появляется предупреждение и предложение ввести число снова. Так будет происходить, пока введенное число не войдет в нужный диапазон.

После ввода корректного числа, в строке 25 вызываем специальную функцию system(“cls”); , которая очистит содержимое экрана, перед тем, как второй игрок приступит к отгадыванию числа (сработает только в windows).

Далее определяем второй бесконечный цикл (строки 29 – 47), но уже со счетчиком myTry. Он будет считать количество попыток игрока отгадать число. Игрок вводит число и оно сразу проверяется на соответствие диапазону в строках 33 – 37. Если не соответствует – предупреждаем и отнимаем единицу от счетчика попыток myTry. Иначе если число в нужный диапазон вошло, проверяем соответствует ли оно загаданному числу (строки 38 – 42): да – поздравляем и прерываем цикл, нет – переходим к выполнению строк 43 – 46 – говорим об ошибке и предлагаем ввести число снова.

Результат:

оператор break c++

оператор break c++

Оператор continue в C++

Этот оператор применяется тогда, когда необходимо прервать (пропустить) текущую итерацию цикла и приступить к следующей итерации. При его выполнении в цикле for происходит остановка текущей итерации, переход к изменению управляющей переменной, а затем проверка условия продолжения выполнения цикла.

Решим такую задачу: Необходимо вывести на экран те числа, которые делятся на 7 без остатка и находятся в диапазоне от 1 до 70 .

Если число i не делится на 7 без остатка (остаток от деления не равен 0), сработает continue. То есть строка кода 12 уже не выполнится и мы не увидим число i на экране. В случае если остаток от деления i на 7 будет равен 0 (число делится на 7 нацело), тело if выполнено не будет и число будет показано.

Результат:

оператор continue в C++

Если вам понравилась статья, лучшей благодарностью для меня будет, если вы поделитесь со своими друзьями ссылкой на неё. Это можно сделать нажав на кнопку вашей любимой социальной сети под статьей.

Рассылка новых уроков по программированию:

Операторы break и continue в C++
4 (80%) 4 votes

Операторы break и continue в C++: 20 комментариев

  1. Я довел до ума игрушку.
    У меня она как-то так вишла .
    #include
    #include
    using namespace std;
    int main ()
    {
    setlocale(LC_ALL, “Rus”);
    int zag = 0;
    int otv = 0;
    cout <> zag;
    if (zag >= 1 && zag <= 7)
    {
    break;
    }
    else
    {
    cout << "Неправильный диапазон! Введите число (от 1 до 10): ";
    }

    }
    system ("cls");
    cout << "Попробуйте угадать число которое загадал ваш противник." << endl;
    cout <> otv;
    if (otv 10 )
    {
    mtry–;
    pop++;

    cout << "Неправильный диапазон! Введите число (от 1 до 10): ";
    }
    else if (otv == zag)
    {
    cout << "Поздравляю.Вы угадали с " << pop++ << " попытки !";
    break;
    cin.get();
    }
    else
    {
    cout << "Вы не угадали, попробуйте ище раз: ";
    mtry–;
    pop++;
    if(mtry == 0)
    {
    system ("cls");
    cout << "Закончилось количество попыток. Вы Проиграли!";
    break;
    cin.get();
    }
    }
    cin.get();
    }

    }

  2. <pre class="lang:c++ decode:true "#include
    #include
    using namespace std;
    int main ()
    {
    setlocale(LC_ALL, “Rus”);
    int zag = 0;
    int otv = 0;
    cout <> zag;
    if (zag >= 1 && zag <= 7)
    {
    break;
    }
    else
    {
    cout << "Неправильный диапазон! Введите число (от 1 до 10): ";
    }

    }
    system ("cls");
    cout << "Попробуйте угадать число которое загадал ваш противник." << endl;
    cout <> otv;
    if (otv 10 )
    {
    mtry–;
    pop++;

    cout << "Неправильный диапазон! Введите число (от 1 до 10): ";
    }
    else if (otv == zag)
    {
    cout << "Поздравляю.Вы угадали с " << pop++ << " попытки !";
    break;
    cin.get();
    }
    else
    {
    cout << "Вы не угадали, попробуйте ище раз: ";
    mtry–;
    pop++;
    if(mtry == 0)
    {
    system ("cls");
    cout << "Закончилось количество попыток. Вы Проиграли!";
    break;
    cin.get();
    }
    }
    cin.get();
    }

    }

  3. Да блин 3 раза писал и нормальне не отображает .
    Удалите коментарии
    Вот нормальный

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *