Using classes, design an online address book to keep track of the names, addresses, phone numbers, and dates of birth of family members, close friends, and certain business associates. Your program should be able to handle a maximum of 500 entries. a) Define a class, addressType, that can store street address, city, state, and ZIP code. Use the appropriate functions to print and store the address. Also, use constructors to automatically initialize the data members. b) Define a class, extPersonType using the class personType, the class dateType, and the class addressType. Add a data member to this class to classify the person as a family member, friend, or business associate. Also, add a data member to store the phone number. Add (or override) the functions to print and store the appropriate information. Use constructors to automatically initialize the data members. c) Define the class addressBookType using the previously defined classes. An object of the type addressBookType should be able to process a maximum of 500 entries. The program should perform the following operations: (i) Load the data into the address book from a disk. (ii) Sort the address book by last name. (iii) Search for a person by last name. (iv) Print the address, phone number, and date of birth (if it exists) of a given person. (v) Print the names of the people whose birthdays are between two given dates. (vi) Print the names of all the people between two last names. (vii) Depending on the user's request, print the names of all family members, friends, or business associates. class personType should store first and last name and any necessary operations to make the program run as specified. class dateType should store day, month, and year. All classes should contain some type of error checking to determine whether user enter data is valid. Note: This program is intended to use relatively simple algorithms and functions. Please ensure that the code is clear, easy to understand and well documented. Thank you.
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. 2) Installation package that will install the software (in ready-to-run condition) on the platform(s) specified in this bid request. 3) Complete ownership and distribution copyrights to all work purchased.
## Platform
This program should be compatible with Visual C++ version 6.0. The executable will run on Windows XP.