►Написание и использование функций...81 

We use cookies. Read the Privacy and Cookie Policy

Функции лучше всего изучать на примерах. Эта часть начинается с программы FunctionDemo, которая показывает, как упростить рассмотренную в главе 5 программу NestDemo, определив дополнительную функцию. На примере программы FunctionDemo я постараюсь объяснить, как определять и использовать функции. Эта программа будет служить образцом для их дальнейшего изучения.

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

В программе FunctionDemo показано, как упростить программу NestDemo с помощью создания функции sumSequence( ).

_________________

81 стр. Глава 6. Создание функций

«Согласно синтаксису С++ справа от имени функции должны присутствовать две круглые скобки. В них обычно указываются параметры функций.»

[Советы]

    /* FunctionDemo — демонстрация использования функций. */

    /*               Внутренний цикл программы оформлен как отдельная функция */

    #include <cstdio>

    #include <cstdlib>

    #include <iostream>

    using namespace std ;

    /* sumSequence — суммирует последовательность чисел, введённых     с клавиатуры, пока пользователь не введёт отрицательное число. Возвращает сумму введённых чисел */

    int sumSequence( void )

    {

        /* Бесконечный цикл */

        int accumulator = 0 ;

        for ( ; ; )

        {

            /* Ввод следующего числа */

            int value = 0 ;

            cout << "Введите следующее число: " ;

            cin >> value ;

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

            if ( value < 0 )

            {

                /* ...тогда выходим из цикла */

                break ;

            }

            /* ...иначе добавляем число к переменной accumulator */

            accumulator = accumulator + value ;

        }

        /* Возвращаем значение суммы */

        return accumulator ;

    }

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

    {

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

        cout << "Эта программа суммирует последовательности "

                     << "чисел. Каждая последовательность"

                     << "заканчивается отрицательным числом. "

                     << "Ввод серий завершается вводом "

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

        /* Суммируем последовательности чисел... */

        int accumulatedValue ;

_________________

82 стр. Часть 2. Становимся функциональными программистами

        for ( ; ; )

        {

            /* Суммируем последовательности чисел, введённых с клавиатуры */

            cout << " Введите следующую последовательность " ;

            accumulatedValue = sumSequence( ) ;

            if ( accumulatedValue == 0 ) { break ; }

            /* Вывод общей суммы на экран */

            cout << " Общая сумма равна "

                        << accumulatedValue

                        << " " ;

        } ;

        cout << "Программа завершена " ;

        /*  Пауза для того, чтобы посмотреть на результат работы программы */

        system( "PAUSE" ) ; return 0 ;

    }