Основи програмування на С ++ для початківців

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

перерву і продовжити 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++

Если вам понравилась статья, лучшей благодарностью для меня будет, якщо ви поділитеся зі своїми друзями посиланням на неї.

24 думки про "Оператори break і continue в C++

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

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

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

    }

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

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

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

    }

  3. Да блін 3 рази писав і нормальне не відображує .
    видаліть коментарі
    ось нормальний

  4. Як в Linux очистити екран (як це робиться в windows за допомогою функції system (“cls”); )???

    1. Во-первых, який “екран”? – термінал?
      По-друге, в Linux все набагато гнучкіше, різноманітно і дисципліновано… Режими введення-виведення см. struct termios і все що з нею пов'язано.
      А управління екраном терміналу робиться, як варіант, “ескейп-послідовностями” керуючих байт. Наприклад, очистка екрану терміналу:

      #define ESC 27
      printf( "%c[2J", ESC );

залишити коментар

Ваша електронна адреса не буде опублікований. Обов'язкові поля позначені * *