Читать «С++ для "чайников" .» онлайн - страница 232

Стефан Рэнди Дэвис

                 transactionType == 'X' )

            {

                break ;

            }

            /* Если введено С */

            if ( transactionType == 'c' ||

                 transactionType == 'C' )

            {

                /* Инициализация нового счёта */

                init( &accountNumber[ noAccounts ] ,

&balance[ noAccounts ] ) ;

                /* Ввод информации о транзакции */

                process(  accountNumber[ noAccounts ] ,

                         balance[ noAccounts ] ) ;

                /* Увеличение индекса */

_________________

344 стр. . Великолепная десятка

                noAccounts++ ;

            }

        }

        double total = 0 ;

        cout << "Информация о счёте\n" ;

        for ( int i = 0 ; i < noAccounts ; i++ )

        {

            cout << "Баланс счёта "

                  << accountNumber[ i ]

                  << " = "

                  << balance[ i ]

                  << "\n" ;

            /* Накопление общей информации */

            total += balance[ i ] ;

        }

        // Вывод

        cout << "Баланс по всем счетам = "

             << total

             << "\n" ;

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

        system( "PAUSE" ) ;

        return 0 ;

    }

    /* init — Инициализация счёта путём чтения номера и обнуления баланса */

    void init( unsigned* pAccountNumber ,

               double* pBalance )

    {

        cout << "Введите номер счёта:" ;

        cin >> *pAccountNumber ;

        *pBalance = 0.0 ;

    } 

    /* process — Обновление баланса */

    void process(  unsigned& accountNumber ,

                  double& balance )

    {

        cout << "Введите положительную сумму вклада,\n"

             << "отрицательную сумму для снятия со счёта\n"

             << "или нуль для завершения работы\n"

             << endl ;

        double transaction ;

        do

        {

            cout << ":" ;

            cin >> transaction ;

            // Вклад

            if ( transaction > 0 )

_________________

345 стр. . Программа BUDGET

            {

                 /* Добавление на счёт */

                 balance += transaction ;

            }

            /* Снятие со счёта */

            if ( transaction < 0 )

            {

                transaction = -transaction ;

                if ( balance < transaction )

                {

                    cout << "Недостаточно денег: всего"

                         << balance

                         << ", снимаем "

                         << transaction

                         <<" \n" ;

                }

                else

                {

                    balance -= transaction ;

                }

            }

        } while ( transaction != 0 ) ;

    }

Демонстрация работы данной программы:

    Нажмите С для продолжения, X для выхода:

    Программа создаёт банковские счета