600.120 Intermediate Programming
Spring 2010 -- Assignment 5
Due 4/1 by 2:45pm
45 points total

Specifications:

The Problem:

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.

The basic operation will allow the user to add/edit/delete a contact, add/edit/delete a number for a contact, add/delete contacts from a 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 reasonably user friendly. The exact user interface is up to you. Consider using layers of menus instead of one huge menu with options for everything. (Can you use the STL to store common menu operations?)

Implementation Requirements: