PROGRAM 21
// FILE NAME: PROG21.CPP PROGRAMMER NAME: ANTHONY F. ORTIZ // THIS PROGRAM ALLOWS FOR SEVERAL BANK TRANSACTIONS BY ONE OR MORE // CUSTOMERS. #include "ouratm.h" #include "ourbank.h" void processonecustomer (const atm & moneymachine, bank & acustomer); int main () { atm moneymachine; bank acustomer; while (1) { processonecustomer (moneymachine, acustomer); if (moneymachine.name () == "BOSS") { break; } } return 0; } void processonecustomer (const atm & moneymachine, bank & acustomer) { char transaction; double amount, balance; int customernumber, found; moneymachine.getnameandpin (); acustomer.findcustomer (moneymachine, customernumber, found); do { if (found) { moneymachine.gettransaction (transaction); switch (transaction) { case ('W'): moneymachine.getwithdrawal (amount); if (amount > acustomer.availablebalance (customernumber)) { moneymachine.message ("CANNOT PROCESS WITHDRAWAL--INSUFFICIENT FUNDS"); } else { acustomer.recordwithdrawal (amount, customernumber); balance = acustomer.availablebalance (customernumber); moneymachine.showbalance (balance); } break; case ('D'): moneymachine.getdeposit (amount); acustomer.recorddeposit (amount, customernumber); balance = acustomer.availablebalance (customernumber); moneymachine.showbalance (balance); break; case ('B'): balance = acustomer.availablebalance (customernumber); moneymachine.showbalance (balance); break; } } else { moneymachine.message ("INVALID NAME / PIN COMBINATION."); transaction = 'Q'; } } while (transaction != 'Q'); } // FILENAME: OURATM.H, OURATM.CPP, OURBANK.H, OURBANK.CPP // SEE PROGRAM 19. // FILENAME: OURACCT.H, OURACCT.CPP, OURSTUFF.H, OURSTUFF.CPP // SEE PROGRAM 14. // FILENAME: OURSTR.H, OURSTR.CPP // SEE PROGRAM 12. // OUTFILE: PROG21.OUT AA TTTTTTTTTT MM MM AAAA TT MMMM MMMM ======AUTOMATED TELLER MACHINE====== AAAAAAAA TT MM MM MM AA AA TT MM MM AA AA TT MM MM ENTER NAME: ORTIZ ENTER PIN: 2871 ATM ---------------------------------------- WITHDRAW [W] DEPOSIT [D] BALANCE [B] QUIT [Q] SELECT [W, D, B, Q]: D ATM ---------------------------------------- ENTER AMOUNT TO DEPOSIT: 100.00 ATM ---------------------------------------- BALANCE: 211.11 . . . PRESS ENTER TO CONTINUE . . . ATM ---------------------------------------- WITHDRAW [W] DEPOSIT [D] BALANCE [B] QUIT [Q] SELECT [W, D, B, Q]: Q AA TTTTTTTTTT MM MM AAAA TT MMMM MMMM ======AUTOMATED TELLER MACHINE====== AAAAAAAA TT MM MM MM AA AA TT MM MM AA AA TT MM MM ENTER NAME: BOSS ENTER PIN: 1111 ATM ---------------------------------------- INVALID NAME / PIN COMBINATION. . . . PRESS ENTER TO CONTINUE . . .
BACK TO COMP251 PAGE.