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.