Justin's Life... November 1997

---------------------------------------

CSCI101: Assignment #8

Write a program with functions to help you balance your checking account. The program should read the initial balance for the month, followed by a series of transactions. For each transaction entered, the program should print the transaction data, the current balance for the account, and the total service charges. Service charges are $0.10 for a deposit and $0.15 for a check. If the balance drops below $500.00 at any point during the month, a service charge of $5.00 is assessed for the month. If the balance drops below $50.00, the program should print a warning message. If the balance becomes negative, an additional service charge of $10.00 should be assessed for each check until the balance becomes positive again.

A transaction takes the form of an int number, followed by a blank and a float number. If the int number is a 1, then the float number is the amount of a check. If the int number is 2, then the float number is the amount of a deposit. The last transaction is 0 with no numbers following it.

A sample input file might look like this:

879.46
1 400.00
2 100
0
The corresponding output then would be:
Initial balance: $879.46

Transaction: Check in amount of $400.00
Current Balance: $479.46
Service charge: Check --- charge $0.15
Service charge: Below $500 --- charge $5.00
Total service charge: $5.15

Transaction: Deposit in amount of $100.00
Current Balance: $579.46
Service charge: Deposit --- charge $0.10
Total service charge: $5.25

Transaction: End
Current Balance: $579.46
Total service charge: $5.25
Final Balance: $574.21
Use proper style and indentation, efficient programming techniques, meaningful identifiers, and a detailed algorithm. Use data files for input and output. Also, make sure to check data errors such as invalid transaction code or negative amounts. Must use at least 3 functions and must use pass by reference in at least one of your functions.