Background
Due to a decrease in advertising profit, your favorite (and previously free) social networking site has decided to charge a monthly fee to each member. Frustrated, you set out to make your own social networking site, VisageTome.
For now, you will need to make a class to store each person's name, favorite food, and list of friends. This class should include methods to access and modify these variables. You will also need to allow the user to modify this information.
Requirements
Part 1 - Make People
Create a class to store the following information for each person:
First name
Favorite food
List of friends
Allow the user to add new people to the system
Allow the user to display all data about all people in the system
Part 2 - Make Connections
Allow the user to add and remove friendships between any two people
Part 3 - Make Dinner
Allow the user to modify any person's favorite food
Allow the user to select a person and display all of that person's friends who share the same favorite food
part 4 -optional- Make Bacon
Report the Bacon Number of any person; this requires your program to begin with actor Kevin Bacon already in the system
Kevin Bacon's favorite food is bacon; do not allow the user to change this
Here, the Bacon Number should be computed via friendships:
Kevin Bacon himself has a Bacon Number of 0
Any friend of Kevin Bacon has a Bacon Number of 1
In general, a person's Bacon Number is k+1, where k is the lowest non-negative Bacon Number of any of that person's friends
If there is no possible connection between a person and Kevin Bacon, that person's Bacon Number is -1
Requirement Notes
General
The list of friends for each person must be a vector.
Do not allow the user to enter duplicate names into the system.
Any user input that causes your program to break or to behave incorrectly will prevent pass-off of the assignment.
Friendships
A new person begins with a name and a favorite food, but no friends.
All friendships are bi-directional; do not create one-way friendships.