|
Программирование >> Аргументация конструирования
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
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |