C++ address book program
Design an address book application to keep track of the names, addresses, phone numbers, and birthdays of family, friends, and colleagues. You may implement your own linked list library, but it is recommended that you make use of the linked list API in the C++ standard template library.
At a minimum, your program should implement at least one object called AddressRecord and should hold the following data:
* recordId (must be an int. This field uniquely identifies a record in your address book)
* contactType (i.e. friend, family, etc.)
Provide the appropriate accessor methods to set and get the data. The main program must provide the following functionality.
1. When the program is first started, it should read a data file “address.dat”, if it exists, and load the data from this file in the address book’s linked list.
2. When the program exits, it should save all of the entries in the address book linked list into the “address.dat” data file. At this point, if this file does not exist, the program should create it.
3. Provide a text-based user interface to allow the user to operate on the address book data. The program should allow the user to:
(a) view all entries in the address book;
(b) search for an entry in the address book by last name (if the entry exists, print the record);
(c) add an entry to the address book;
(d) delete an entry from the address book; and
(e) modify any of the data (except the recordId) for given address book entry selected by the user. These operations should work on a linked list that holds all of the entries of the address book.