600.120 Intermediate Programming
Summer 2013 -- Homework 5
Due by 9am on Tuesday, 6/18

The goal for this assignment is to become familiar with basic I/O in C++, and using built-in classes and algorithms from the STL to solve a problem that would be difficult to code from scratch.

Preparation:

Part A: PhoneList Management [45 points]

For this assignment you will use the C++ STL to maintain a collection of phone numbers, such as may be found in your cell phone. Your collection will consist of multiple contacts. Each contact has a name and a list of phone number pairs. Each phone number pair consists of the type of number (for example, "CELL", "HOME", "WORK", "FAX", etc.) and the actual phone number. In addition to the full contacts list, the program will also maintain a collection of favorites.

The basic operation of your program will allow the user to add/edit/delete an entire contact, add/edit/delete a phone number pair for a contact, add/delete contacts from the favorites collection, and rearrange the position of a contact in the favorites list. You should also have options to display all the contacts in alphabetical order, display all the numbers for a particular contact, and display the names of all the favorites, in the order in which you have put them (and rearranged them) in the favorites list.

All data should be input from the keyboard. All output should go to the screen. Make your program interactive and very user friendly; the exact user interface is up to you. Consider using layers of menus instead of one huge menu with options for everything. This is your opportunity to let your design star shine! (Can you use the STL to store common menu operations?) Name your file with main pg5a.cpp so that we can clearly identify it when grading.

Implementation Requirements

Violations will result in point deductions.


General assignment requirements, style and submission details: