Bank Part 2
Use the bank classes to create a complete banking system. Start with the following repl.
https://replit.com/team/smcp218-data-structures-skon/Lab-3-Complete-Bank
This project is a program includes the code from lab 2 to reads JSON bank data (accounts and customers) from two files, and displays them. You are going to use a C++ array of objects to store a list accounts and customers. You will move your Account class from project 2 into this. As before the data for this lab was generated with this python repl: link. You can learn more about JSON here: Link. Note the that accounts are created so that each account has a at customer associated to it through the ownerid. Some customers do not have an owner.

(Accounts is incomplete)
link.
Step 1
You will create the two arrayListType container objects to store all the customers and the accounts. You can model you code after this project:
Step 2
Once you have code to load in all the customers and account, create a test suite to test the functions code so far. This includes finding, adding, removing customers and accounts. Test what happens if you try to overfill at container.
Step 3
Once you have testing the code above, create a user interface with the following features:
- Add a new customer of any type.
- Look up a customer by customer number. Display the customer and all accounts.
- Look up customers by (partial or full) customer name, business name, or org name. You will need to scan through all the customers and find all matches. Display a number list of matches (name only. The user can then enter a number to display the customer and all accounts (as above).
- Once a customer and it accounts are displayed (in either 2 or 3) allow new account of any type to be added.
- Once a customer and it accounts are displayed (in either 2 or 3) allow an account to be selected
- Once an account is selected ( 5), display it and allow:
- A months interest to be added or subtracted for whichever the account type.
- Money to be deposited or withdrawn if it is a deposit. The classes will enforce all rules.
- A payment to be made if it is a loan.
- Once an account is is selected (5), allow it to be deleted if the balance is zero:
- Once a customer is displayed (in either 2 or 3) that has no account, allow it to be deleted.
- Display the total number of accounts.
- Display the total number of customers.
- Exit the program
Step 4
Create a plan for how to test this program. Since this is a user interface you do cannot exactly automate it (though it is possible with scripts). But you should just write up a test plan of things you should do, and then do it.
Step 5
Turn in the output of all your tests, and your test plan from step 4.
Grading
| Requirements | Grading Comments | Points | Score |
|---|---|---|---|
| Good Code Design | 30 | ||
| Test suite for all functions including common and boundry cases. | 20 | ||
| All required function implemented | 20 | ||
| Quality User Interface for editing system information | 20 | ||
| Comments | 10 | ||
| Total | 100 |
