CMSC104, Spring 2005
Programming Project 3
Bank Account
Out: Thursday, April 28, 2005
New Due Date: Wednesday, May 11, 2005 before
midnight
05/05 - UPDATE: changed BelowMinBalance function to take the minimum required balance
as an argument.
The Objective
This project is designed to give you practice working with functions.
It will give you also give you more practice working with while loops
and switch statments.
The Background
Most people store their money in a checking account. There are two
basic operations performed on the checking accout. One operation is
to deposit money into the account and the other is to make a withdrawal
from the account. The minimum balance of the checking account is $500.00.
The Task
Your job is to write a program that will simulate the behavior of
a checking account. Your program should accept a beginning balance from
the user and then display a menu with four options. The menu
should have the four options shown in the sample output below.
The functions you will write, in addition to the main function,
are:
- void PrintGreeting (void); - This function prints an explanation
of the program to the user. You should assume the user knows nothing about
program and give a detailed explanation.
- void PrintMenu (void); - This function displays the menu to the
screen.
- float GetBeginningBalance (float minBalance); - This function
gets the beginning balance from the user. It should error check the user
input to make sure the beginning balance is not below the minimum balance
required. It takes the minimum balance required as an argument and returns the
balance entered by the user.
- float Withdrawal (float balance, float withdrawalAmt); - This function
takes the current balance and the amount to withdrawal. It returns the
new balance after the withdrawal is made.
- float Deposit (float balance, float depositAmt); - This function
takes the current balance and the amount to be deposited as arguments. It returns
the new balance after the deposit is made.
- void PrintReceipt (int totalWithdrawals, int totalDeposits, float begBalance, float balance); -
This function prints an account summary to the screen. It should list the total number
of withdrawals, the total number of deposits, the beginning balance and the ending balance. It
does not have to match the sample output exactly.
- int BelowMinBalance (float balance, float minBalance);
- This function takes the balance and the minimum balance as arguments.
It checks the balance to see if it is below the minimum required checking account balance.
It returns TRUE (1) if the balance is below the minimum or FALSE (0) if it
is not. It SHOULD NOT print anything to the screen.
More Details
Sample Output
linux3[1]% gcc -ansi -Wall proj3.c
linux3[2]% a.out
[Your greeting goes here.]
Please enter the beginning balance: 100.00
The beginning balance must be greater than or equal to 500.00.
Please enter the beginning balance again: 1000.00
1) Make a Withdrawal
2) Make a Deposit
3) Display Account Summary
4) Quit
Selection: 1
Enter the amount to withdrawal: 500.00
1) Make a Withdrawal
2) Make a Deposit
3) Display Account Summary
4) Quit
Selection: 1
Enter the amount to withdrawal: 100.00
****** Warning: Below minimum required balance ******
1) Make a Withdrawal
2) Make a Deposit
3) Display Account Summary
4) Quit
Selection: 3
----------------------------------------------------
Account Summary
Beginning balance: $1000.00
Ending balance: $400.00
Total number of withdrawals: 2
Total number of deposits: 0
----------------------------------------------------
1) Make a Withdrawal
2) Make a Deposit
3) Display Account Summary
4) Quit
Selection: 2
Enter the amount to deposit: 500.00
1) Make a Withdrawal
2) Make a Deposit
3) Display Account Summary
4) Quit
Selection: 3
----------------------------------------------------
Account Summary
Beginning balance: $1000.00
Ending balance: $900.00
Total number of withdrawals: 2
Total number of deposits: 1
----------------------------------------------------
1) Make a Withdrawal
2) Make a Deposit
3) Display Account Summary
4) Quit
Selection: 4
linux3[3]%
Submitting the Program
Here is a sample submission command. Note that the project name starts with uppercase 'P'.
submit cs104 Proj3 proj3.c
To verify that your project was submitted, you can execute the
following command at the Unix prompt. It will show the file that
you submitted in a format similar to the Unix 'ls' command.
submitls cs104 Proj3