CS 1323, PROJECT # 7

Project #7:    Turn in the following files: CheckBookMain.java, CheckBookController.java, CheckBook.java, Check,java

Due Date:    Midnight, Friday, April 7, 2000

Assignment:  Write a checkbook application program that maintains N number of checkbook objects in an array (where N is the number of checkbooks the user would like to maintain).  Allow the user to choose a title for each checkbook.  For each checkbook, the user can deposit, write a check, and withdraw, displaying the total balance after each transaction.  It is possible for the balance to become negative in a checkbook.  When a new check is written, a CheckBook object will automatically assign the next available check number.  The user will have the options of voiding a check and overriding the automatically assigned check number.    The beginning check number (chosen by the user) is set when the object is initially created.  In addition, maintain N number of OutputBox objects in an array (one for each checkbook) and output every individual transaction for that checkbook to the corresponding OutputBox object.  Allow the user to continue to work on the checkbooks (just like the PersonalAddressBook program) until they desire to quit.  When the user chooses to quit, call the saveToFile method for all OutputBox objects such that the output for each separate checkbook appears in a unique file, whose format closely resembles a bank statement.  Remember to make the CheckBook and Check classes reusable!

Note:  Declare, instantiate and use objects from the other classes as needed.

Design Document
CLASS Purpose
CheckBookMain The main class of the program
CheckBookController The top level control object that manages other objects in the program.
CheckBook A CheckBook application logic object contains a list of Check objects.
Check A Check application logic object is used to represent a single check.
<interface classes> Use other objects from the javabook or the standard java packages for handling the user interface of the program.