Contact-Management-System-PROJECT-IN-ITCC-101-Copy (2)
Contact-Management-System-PROJECT-IN-ITCC-101-Copy (2)
FLOWCHART
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.
Code:
struct Contact {
std::string name;
std::string phone;
std::string email;
};
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();
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 {
...
return 0;
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) {
...
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() {
...
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
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() {
...
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.