Читаем С++ для "чайников" . полностью

 «При повторяющемся выполнении операций над переменной в цикле проследите, чтобы инициализация переменной осуществлялась ещё до входа в цикл. В нашем случае программа обнулила переменную accumulator перед входом в цикл, в котором к ней добавляются новые числа. Вот пример результата работы программы:»  

[Советы]



      Эта программа суммирует числа, введённые пользователем

      Выполнение цикла заканчивается после ввода отрицательного числа

      Введите следующее число: 1

      Введите следующее число: 2

      Введите следующее число: 3

      Введите следующее число: -1


      Общая сумма равна 6

      Press any key to continue...


Несколько реже используется команда continue. Столкнувшись с ней, программа немедленно возвращается к началу цикла. Остальные инструкции цикла игнорируются.

«В следующем фрагменте программы отрицательные числа, которые может ввести пользователь, игнорируются. Завершает цикл ввод нулевого значения. Полностью данную программу под именем ContinueDemo вы найдёте на прилагаемом компакт-диске.»

[Диск]

        while ( 1 )

        {

            /* Ввод значения */

            cout << "Введите значение" ;

            cin >> inputVal ;


            /* Если число отрицательное */

            if ( inputVal < 0 )

            {

                /* Выводим сообщение об ошибке */

                cout << "Не допускается ввод "

                     << "отрицательных чисел\n" ;


                /* Возвращаемся к началу цикла */

                continue ;

            }

            /* Введено приемлемое значение */

        } 

_________________

75 стр. Глава 5. Операторы управления программой


►Вложенные команды управления...76

Возвратимся к проблеме перерисовывания экрана монитора. Конечно, некоторые типы структур циклов можно использовать для прорисовки каждого пикселя линии слева направо ( или для евреев и арабов сканирование экрана осуществляется справа налево? ). Но как реализовать повторяющееся перерисовывание каждой сканируемой линии сверху вниз? ( Для австралийских экранов, наверное, снизу вверх? ) Для этого нужно включить цикл, сканирующий пиксели слева направо, внутрь цикла, сканирующего линии сверху вниз.

В случае если команды одного цикла находятся внутри другого, цикл называют вложенным. В качестве примера вы можете модифицировать программу BreakDemo в программу, которая накапливает сумму чисел любого количества последовательностей. В этой программе, названной NestedDemo, во внутреннем цикле суммируются числа, введённые с клавиатуры, пока пользователь не введёт отрицательное значение. Внешний цикл суммирует полученные суммы значений последовательностей до тех пор, пока накопленная сумма примет отличное от нуля значение.

        /* NestedDemo — вводится последовательность чисел. */

        /*              Числа суммируются, пока пользователь не введёт отрицательное число. Этот процесс будет повторяться, пока общая сумма не станет равной 0. */

        #include

        #include

        #include


        using namespace std ;


        int main( int argc , char* pszArgs[ ] )

        {

             setlocale ( LC_ALL , ".1251" ) ; /* печать русских текстов */

             cout << "Эта программа суммирует "

                   << "последовательности чисел.\n Ввод каждой "

                   << "последовательности завершается "

                   << "вводом отрицательного числа \n"

                   << "Чтобы завершить ввод последовательностей,"

                   << "нужно ввести\nдва отрицательных числа подряд\n" ; 


             /* Внешний цикл работает с последовательностями чисел */

             int accumulator ;

             do

             {

Перейти на страницу:

Все книги серии Для чайников

Похожие книги

Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript
Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript

Данная книга посвящена программированию игр с помощью ActionScript. Здесь вы найдете подробные указания, необходимые для создания самых разных игр – аркад, головоломок, загадок и даже игровых автоматов. В тексте приведены исходные коды программ и детальные, доступно изложенные инструкции. Базовые принципы программирования ActionScript рассматриваются на примере игр, однако вы без труда сможете применить полученные знания и для разработки неигровых проектов, таких как Web-дизайн и реклама. Рекомендации Гэри Розенцвейга помогут вам не только придумывать занимательные игры и размещать их на Web-сайте, но и оптимизировать скорость их работы, а также защищать свои творения от несанкционированного копирования. Представленный в книге код несложно изменить для использования в других программах.Книга предназначена для широкого круга читателей – создателей анимационных роликов, художников-оформителей, программистов и разработчиков Web-сайтов. Издание может также выступать в качестве практического пособия по изучению ActionScript.

Гэри Розенцвейг

Программирование, программы, базы данных / Программирование / Книги по IT