A shop collects the following information from its customers:
1. Full name (first name, last name, and optional middle initial)
2. Address (street name and number, city, zip code, and state)
3. Phone number
4. Email
5. First visit/service date
6. Most recent visit/service date
7. Total amount charged
8. Current balance and description of the last service
You are to write a program that allow the shop to manage their customers. The shop needs the
following functionalities:
1. Search for a customer by:
a. Name
b. Phone number
c. Email
(The result of the search would have similar option as in the “List all customers” option
below)
2. List all customers
a. Select and edit a customer
b. Delete a customer
3. Add a new customer
a. Prompt for appropriate data fields
4. Get account consolidation sheet that shows total charges and total balance of all customers
5. Get the records of the biggest 5 spenders (spend the most)
6. Exit and save all changes (all changes to the customers should be stored into a file for retrieval
the next time the program is executed)
Note: when your program is started, it should load all customer from file customers.dat if the file exists
and show the number customers has been loaded; otherwise, it should continue to proceed