PROGRAMMING ASSIGNMENT #5
Write a C program that allows the user to make some banking transactions. The program
should first prompt the user to enter the current balance of his/her bank account (in
dollars and cents, not less than zero). The program should then prompt the user to enter
the number of withdrawals to make, and then the number of deposits to make. For this
assignment, let’s set a maximum of 50 deposits and 50 withdrawals, you’ll see why as
you read on. These will be stored in arrays, which you will be studying for this
assignment. One of your program statements should be:
float deposit[50], withdrawal[50];
Using a loop, the program should then prompt the user to enter the amount of the first
deposit (a positive amount to add to the bank account balance), the amount of the
second deposit, the third, & etc., until the number of deposits have been processed
Using a second loop, the program should then prompt the user to enter the amount of the
first withdrawal (a positive amount to subtract from the bank account balance, if
possible), the amount of the second withdrawal, the third, & , etc. until the number of
withdrawals have been processed. Once all deposits and withdrawals have been made, the
program should output the ending balance.
Read all the specifications carefully. I did not show all of the editing features
The dialog with the user should look similar to the following, only with your special
introductory statement(s) as you wish:
Welcome to the Sears Banking System (or whatever you wish here)
Please enter your name: Jim
Now enter your current balance in dollars and cents: 256.40
Enter the number of withdrawals: 2
Enter the number of deposits : 3
Enter the amount of deposit #1: 10.50
Enter the amount of deposit #2: 12.25
Enter the amount of deposit #3: 125.30
Enter the amount of withdrawal #1: 120.35
Enter the amount of withdrawal #2: 35.60
*** The closing balance Jim is $248.50 ***
At this point, the program should also output one of the following messages based on the
closing balance. That is:
If the closing balance is greater than or equal to 50000.00, output:
“*** (name) it is time to invest some money! ***”
If the closing balance is between 15000.00 and 49999.99, output:
“*** (name) maybe you should consider a CD. ***”
If the closing balance is between 1000.00 and 14999.99, output:
“*** (name) keep up the good work! ***”
If the closing balance is between 0.00 and 999.99, output:
“*** (name) your balance is getting low! ***”
So, in the above example, the last line of sample output would be:
*** Jim your balance is getting low! ***
Regarding error checking on all user input, the following check should be made while
users are entering the withdrawal amounts: If the withdrawal amount exceeds the current
balance (including the new deposits), the program should issue the following error
*** Withdrawal amount exceeds current balance. ***
The program should then re-prompt for a lower withdrawal amount. But, if the current
balance goes to zero, no more withdrawals should be made and an appropriate message
should appear (that one’s up to you! Use some polite creativity!)
So, for example, a sample run of the program with error checking might look like:
Enter current balance in dollars and cents: -56.40
Error: Beginning balance must be at least zero, please re-enter!
Enter current balance in dollars and cents: 256.40
Enter the number of withdrawals: 2
Enter the number of deposits: -3
Error: Number of deposits must be at least zero, please re-enter.
Enter the number of deposits: 3
Enter the amount of deposit #1: 10.50
Enter the amount of deposit #2: 12.25
Enter the amount of deposit #3: 125.30
Enter the amount of withdrawal #1: 5000.00
*** Withdrawal amount exceeds current balance. ***
Enter the amount of withdrawal #1: 120.35
Enter the amount of withdrawal #2: 35.60
*** The closing balance Jim is $248.50 ***
*** Jim your balance is getting low. ***
You are to keep track of all of the deposits and all of the withdrawals so that you can
print them out in “record” form. You do this by storing them in arrays. You will have
one array to hold the deposit amounts entered by the user, and another array to hold the
withdrawal amounts. You want to be sure that the size of the arrays are large enough to
handle 50 deposits and 50 withdrawals. Perhaps:
float deposits[50], withdrawals[50];
*** Banking Summary ***
Start Balance: $ 256.40
Deposit #1: 10.50
Deposit #2: 12.25
Deposit #3: 125.30
Withdrawal #1: 120.35
Withdrawal #2: 35.60
Ending Balance: $ 248.50
It is hard to see this in HTML, but I want you to align the decimal points in the
Notice the test above for “Too many deposits”. You want to be sure that the user does not
want to enter more information than you can store in your array. In my example above, I
made the array sizes “50”. That means that I can store up to 50 deposits and 50
withdrawals. So, I want to test that the user does not plan to enter more than that. The
same error checking should be done on the code that prompts for withdrawals.
If you run out of time then you can:
1. Omit the error checking for balance not going less than zero for -5.
2. Omit the personalized message for -5
NOTE: There are some bothersome complications with the entry and storage of some
float numbers. Because of the way data is stored the float number 22.39 may be stored as
22.389999 and this may cause a problem with your final if statements and even with
balance equaling zero. To help with this you can test for the balance < .01 instead of =
0. This is a well known anomaly in C. You may not encounter these problems, I just
wanted to warn you of the potential problem.
(Darth Vader theme plays in background…..)