Problem
I. Write program in c++:
Online Address Book Revisited) Programming Exercise 9 in Chapter 3 could handle a maximum of only 500 entries. Using linked lists, redo the program to handle as many entries as required. Add the following operations to your program:
i. Add or delete a new entry to the address book.
ii. When the program terminates, write the data in the address book to a disk
II. Write c++ program:
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.
i. Define a class, addressType, that can store a 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.
ii. Define a class extPersonType using the class personType (as defined in Example 1-12, Chapter 1), the class dateType (as designed in Pro- gramming Exercise 2 of Chapter 2), 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 informa- tion. Use constructors to automatically initialize the data members.
iii. Derive the class addressBookType from the class arrayListType, as defined in this chapter, so that an object of type addressBookType can store objects of type extPersonType. An object of type addressBookType should be able to process a maximum of 500 entries. Add necessary opera- tions to the class addressBookType so that the program should perform the following operations:
• Load the data into the address book from a disk.
• Search for a person by last name.
• Print the address, phone number, and date of birth (if it exists) of a given person.
• Print the names of the people whose birthdays are in a given month or between two given dates.
• Print the names of all the people having the same status, such as family, friend, or business.
• Print the names of all the people between two last names.