CheckBookMain -- does min amount. Starts the controller and does nothing else. This could be morifed into a app that does checking accounts or loans or whatever for now just starts the "check" area CheckBookController -- does all of interfacing with the user asks to create books & title them. handles each book & each check in each one it will A. create or delete checkbooks 1. title each checkbook; (see Check class) 2. offer a printout of each one 3. (optional) save & read stored books B. manage a particular book
1. add or delete checks1. use CheckBook to add or delete (void) checks 2. (optional) modify checks; recreate internally 3. deposit or withdraw (see B-1) 4. calculate new balances (see B-1) 5. pick check nums on creation (pass to CheckBook) B-2. 1. give a reister of all transactions using OutputBox for each Book & CheckBook register D. 1. allow user to quit 2. when user quits, dump a bank statement for all the books to a file Dump the outputBox objects Margin Notes: check num write check void withdraw deposit register Quit - dump Output Boxes use savetoFile CheckBook -- has methods to add checks, void checks, make withdraw and deposits. It also calculates new balances based on transactions. Also have an array with all transactions recorded (like a register). Voided checks are marked, it should be a structure?(maybe new object?) Creates and destories registers; Searches for checks? Check -- holds info on chekcs, creates new ones check number - define on creation or defaulted by CheckBook Owners Name on check(moved to CheckBook) Date PayTo Written Amount Numerical Amount Name of Bank(moved to CheckBook) Memo, sig not important CheckBookRegister holds info on a checkbook; it's index will match CheckBook's index array. Controlled by CheckBook. CheckBook creates one when made, and removes it when destroyed NOTES: Checks can get out of order, maybe resort them or allow user to sort by check num or date or amount?