members: Elliott Meeks ([email protected]), Jason Skender ([email protected]), and Victor Gutierrez ([email protected]) Note: You may receive a warning when running the makefile regarding some destructors for Email and Phone objects, but this has not caused any runtime errors for us
Note: When running, the primary database file to load from is "netDB.txt" This contains 7 users with some premade friendships made to demonstrate loading friendships when the program closes.
For Pt5 of Phase 2: The output format of database files has been modified to account for friendships being saved when the program closes. An additional line after the phone number contains the unique IDs of other network members. These IDs are separated by commas to indicate different users. If this line is blank, then that user has no current friendships. When a user is deleted while having friendships with other users, the other users are NOT updated, so illegible data may be stored in database files if this occurs. To see the "pretty" prints of a user's friends, a new friendship must be made by using option 6 in the menu. After adding a new friend, the first user's old and new friendships will be displayed in the "pretty" format.
- Purpose: Defines the
Email
andPhone
classes for handling contact information. - Key Components:
Email
class with methods to set and retrieve email addresses in various formats.Phone
class with methods to manage phone numbers, including hyphen removal and addition.
- Purpose: Implements the
Date
class to handle date information. - Key Components:
Date
class constructor that parses a date string and stores day, month, and year.- Methods to print and retrieve date information in different formats.
- Purpose: Contains miscellaneous functions like printing banners and generating code names.
- Key Components:
printMe
function to display a banner.codeName
function to create a lowercase, space-free string from two input strings.
- Purpose: Defines the
Network
class for managing a network ofPerson
objects. - Key Components:
- Methods for loading and saving the network database.
- Functions to add, remove, and search for
Person
objects within the network.
- Purpose: Defines the
Person
class with attributes and methods for individual person records. - Key Components:
- Constructors for creating
Person
objects from user input or file data. - Methods for setting person information, making friends, and printing person details.
- Constructors for creating
- Purpose: Contains the
main
function to run the network application. - Key Components:
- Instantiation of a
Network
object. - Invocation of the
showMenu
method to interact with the user.
- Instantiation of a
- Purpose: A test file to demonstrate the equality and inequality operators for
Person
objects. - Key Components:
- Creation of
Person
objects and comparison.
- Creation of
These .cpp
files form a contact management system, enabling the creation, handling, and storage of personal contacts and network relationships.