0% found this document useful (0 votes)
8 views9 pages

Contact-Management-System-PROJECT-IN-ITCC-101-Copy (2)

Uploaded by

Niza Agalla
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views9 pages

Contact-Management-System-PROJECT-IN-ITCC-101-Copy (2)

Uploaded by

Niza Agalla
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 9

Contact Management System

FLOWCHART

Start: Execution begins.


Show Main Menu: The user is presented with options for managing contacts (Add, Search, Update, Delete, Display, Exit).
Input User Choice: The user selects an option.
Choices:
Add Contact: User enters contact details. The new contact is saved, and the system returns to the main menu.
Search Contact: User inputs a name to search. The system displays contact details if found, then returns to the
main menu.
Update Contact: User provides a name to update. The system prompts for new details, updates the contact,
and returns to the main menu.
Delete Contact: User inputs a name to delete. The system removes the contact if found and returns to the main
menu.
Display All Contacts: The system shows all contacts and then returns to the main menu.
Return to Main Menu: After any action, the user can perform another operation.
End: The program terminates when the user chooses to exit.
Contact Management System
Documentation

Project Overview
This document serves as a comprehensive record of our Contact Management System
project. Our goal was to create a simple yet effective application to help users manage
their contacts. This includes being able to add, search, update, delete, and view contact
information easily.

Objectives
The main objective was to allow users to manage their contacts effectively and maintain
this information over time. We aimed for an intuitive design that would be easy for
anyone to use.

Development Process
1. Define the Contact Structure

We started by creating a structure called Contact. This structure holds essential details
about each contact, such as name, phone number, and email address.

Defining a structure allows us to manage contact information efficiently. By grouping related


data together, it's easier to understand and use later.

Code:

struct Contact {

std::string name;

std::string phone;

std::string email;

};

2. Declare Function Prototypes


Next, we declared function prototypes for all the actions we want to include in the
program, such as adding, searching, updating, deleting, and displaying contacts.

This step helps us organize our code. By knowing in advance what functions we will
implement, we can plan our coding better and understand the system’s functionality.
Code:
void addContact();

void searchContact();

void updateContact();

void deleteContact();

void displayAllContacts();

3. Implement the Main Function

We wrote the main function, which serves as the entry point of our program. It includes
a menu for the user to select the operation they want to perform.

A main menu helps users navigate the application. It presents options in a clear way,
making it simple for them to choose what they need to do.

Code:
int main() {

int choice;

do {

// Display menu options

...

} while (choice != 6);

return 0;

4. Load Contacts from File

We created a function to load any existing contacts from a file at the start of the
program. This function gathers the contacts into a vector for easy access.

Loading contacts from a file ensures that users can access their saved contacts when
they start the program. This keeps the information available even after the program is
closed.

Code:
std::vector<Contact> loadContactsFromFile() {

...

return contacts;

}
5. Save Contacts to File

We wrote another function to save the updated contacts back to the file whenever
changes are made throughout the program.

Saving changes allows all updates to remain after the program closes. This way, users
can pick up where they left off the next time they open the application.

Code:
void saveContactsToFile(const std::vector<Contact>& contacts) {

...

6. Add a New Contact

We implemented a function that lets users enter new contact details and save them to
the list.

The ability to add new contacts is a fundamental feature. This allows users to expand
their contact list as necessary.

Code:
void addContact() {

...

7. Search for a Contact

We created a function for users to search for a contact by name. If the contact is found,
their details are displayed.

Quick searching is essential for users with many contacts. This feature allows them to
find and retrieve specific information easily.

Code:
void searchContact() {

...

8. Update a Contact

We implemented a function that enables users to update the details of an existing


contact when necessary.

We implemented a function that enables users to update the details of an existing


contact when necessary.
Code:
void updateContact() {
...
}

9. Delete a Contact

We wrote a function that allows users to remove a contact from the list entirely.

Users may need to delete contacts that are outdated or no longer relevant. This function
helps maintain an accurate contact list.

Code:

void deleteContact() {

...

10. Display All Contacts

Finally, we created a function that displays all saved contacts in an organized format.

Displaying all contacts helps users review their list easily. It provides a quick overview
of all their contacts and ensures they are aware of the details stored.

Code:
void displayAllContacts() {
...
}

Conclusion
The Contact Management System project successfully achieved its goal
of creating an easy-to-use application for managing contacts. Each step
in the development process was crucial, ensuring the program is
functional and user-friendly. This documentation records our decisions
and actions during the project, providing a reference for future projects
or improvements to this system.

You might also like