PROGRAMMING ASSIGNMENT #5 banking transactions in C Programing Language Solution

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.....)
Powered by