Reference no: EM13771968
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.....)