■■■
■ Баланс не может быть отрицательным ( каким бы дружественным не был к вам ваш банк, настолько дружественным он быть просто не в состоянии ).
■ Создание депозита не влечёт за собой никаких расходов.
■■■
_________________
343 стр. Глава 31. Программа BUDGET
Вот как выглядит исходный текст данной программы.
/* BUDGET1.CPP — "Функциональная" программа бюджета */
#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std ;
/* Максимальное количество счетов */
const int maxAccounts = 10 ;
/* Данные, описывающие счёт */
unsigned accountNumber[ maxAccounts ] ;
double balance[ maxAccounts ] ;
/* Прототипы функций */
void process( unsigned& accountNumber ,
double& balance ) ;
void init( unsigned* pAccountNumber ,
double* pBalance ) ;
/* main — собирает начальные входные данные и выводит конечные суммы */
int main( int nNumberofArgs , char* pszArgs[ ] )
{
setlocale ( LC_ALL , ".1251" ) ; /* печать кириллицы */
cout << "Нажмите С для продолжения, X для выхода:\n" ;
// Цикл ввода
int noAccounts = 0 ; /* Количество счетов */
/* Нельзя создать счетов больше, чем выделено места */
cout << "Программа создаёт банковские счета\n" << endl ;
while ( noAccounts < maxAccounts )
{
char transactionType ;
cout << "С для создания счёта, X для выхода: " ;
cin >> transactionType ;
/* Выход, если пользователь ввёл X */
if ( transactionType == 'x' ||
transactionType == 'X' )
{
break ;
}
/* Если введено С */
if ( transactionType == 'c' ||
transactionType == 'C' )
{
/* Инициализация нового счёта */
init( &accountNumber[ noAccounts ] ,
&balance[ noAccounts ] ) ;
/* Ввод информации о транзакции */
process( accountNumber[ noAccounts ] ,
balance[ noAccounts ] ) ;
/* Увеличение индекса */
_________________
344 стр. Часть 6. Великолепная десятка
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 ,