Программирование >>  Аргументация конструирования 

1 ... 79 80 81 [ 82 ] 83 84 85 ... 108


else

c;out << Недостаточна денег на счете: баланс равен << balance << , попытка снять << amount << \п ;

balance -= amount;

./ если баланс упал слишком низко, ./ взимать гонорар за обслуживание . .1 (baiance< 500.00)

balance

0.20;

irujs - то же самое, что и Checking, за исключением еще одного члена

class Savings : public Account {

public;

Savings::Savings(unsigned accNo,

double

Account(accNo, InitialBalance} {

noWithdrawals

функции транзакций

virtual void amount);

char typeO

return

protected: int

withdrawal - перегрузим функцию-член

withdrawal () так, чтобы она взимала гонорар за обслуживание Б ра змере $5 при первом снятии за месяц void Samgs : : withdrawal (double amount) {

(oalance < amount)

;out << Недостаточно денег на счете- баланс равен << balance << , попытка снять << amount << \п ;

else



balance -= 5.00;

balance -= amount;

объявление прототипов

unsigned getAccntNo();

void process(Account* pAccount);

void getAccounts0;

void displayResults0;

- собирает входные данные и выводит общие суммы

int main(int argcs, char* pArgs[])

прочитать счета, введенные пользователем getAccounts();

показать связанный список счетов displayResults();

return 0;

getAccounts - загрузить указанный массив счетов

void getAccounts()

Account* pA;

повторять цикл, пока не будет введено х или X char accountType; S или С

while (1) {

cout Нажмите S для сберегательных счетов,\п << С для чековых, X дл хода: ;

cin >> accountType; switch (accountType)

case case

= new break;

case case

pA = new ;

break;

case case

return; default:

cout << Неверный ввод.\п ;

теперь обработаем что созданный объект

process(рА);



Results - отобразить все счета, которые есть в связанном списке счетов

void displayResults{) (

сумму

double total =0.0;

COU-: Суммы по всем счетам: \п ; foi: (Account* рА = Account:: first О ; рА; рА = pA->next())

pA->display();

total += pA->acntBalance();

сои- Всего = total \n ;

/ fc;cntNo - возвращает введенный номер счета unsigned getAccntNo()

uns igned accntNo;

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

cin >> accntNo; return accntNo;

(Account) - ввод данных для счета void process(Account* pAccount) {

cout << Введите ельнук сумму для вклада, \п << отрицательную для снятия, 0 для прекращения работыЧп ; douole transaction;

do {

cout << : ;

cin >> transaction;

вклад

>

pAccount->deposit(transaction) ;

снятие

if (transaction< 0) {

pAccount->withdrawal(-transaction);

} while (transaction != 0) ;

Я запустил эту программу с приведенными ниже данными, чтобы продемонстрировать, как она работает {или, как это чаще случается с моими программами, не работает). Жирным шрифтом выделен пользовательский ввод, а обычным представлены

сообщения программы.

Нажмите S для сберегательных счетов, С для чековых, X для выхода: S



1 ... 79 80 81 [ 82 ] 83 84 85 ... 108

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика