Micro project Contact Management
Index
[Link]. Content [Link].
1. Acknowledgement 2.
2. Abstract 3.
3. Project Introduction 4.
4. Project Mechanics 5.
5. History of contact 6.
managment
6. Objective of contact 7.
management
7. Evolution of contact 8.
management
8. Educational Importance 9.
9, Technologies and Platform 10.
10. Data Structure 11.
11. Algorithm 12.
12. Flowchart 13.
13. Source code 14 – 20.
14. Output Screen 21.
15. Conclusion 22.
16. Reference 23.
1
Swami Vivekanand Institute of Polytechnic
AI and ML
Micro project Contact Management
Acknowledgement
Project Supervisor: I am deeply indebted to my mentor/teacher, [Name of
Teacher], for their expert guidance, constant encouragement, and valuable
suggestions throughout the development of this Contact Management System.
Department Support: I would like to thank [Name of HOD], Head of the
[Department Name, e.g., Computer Engineering] Department, for providing the
necessary infrastructure and a conducive environment for learning.
Institutional Support: My thanks go to our Principal, [Name of Principal], and the
institution, [Name of College/School], for giving me the opportunity to work on
this practical application.
Technical Assistance: I am grateful to the lab assistants and technical staff who
helped resolve various hardware and software hurdles during the coding and
testing phases.
Peer Collaboration: A special thanks to my teammates and classmates for their
constructive feedback, brainstorming sessions, and moral support that kept the
project on track.
Family and Friends: Lastly, I want to thank my parents and friends for their
patience and for providing the motivation required to complete this project within
the stipulated time.
2
Swami Vivekanand Institute of Polytechnic
AI and ML
Micro project Contact Management
Abstract
An Abstract acts as a mini-summary of your entire project. It should tell the reader what the
project is, why it exists, and what tools you used to build it.
Here is a concise and professional abstract for your Contact Management System micro-project:
The Contact Management System is a software application designed to simplify the process of
storing and managing personal and professional contact information. In an era where digital
communication is paramount, manually keeping track of phone numbers, emails, and addresses
can be inefficient. This project addresses that challenge by providing a centralized digital
platform to Create, Read, Update, and Delete (CRUD) contact records.
The system is built using [Insert Language, e.g., Python/Java/C++] and utilizes a [Insert Storage,
e.g., File System/SQL Database] for data persistence. Key features include an intuitive user
interface, a search functionality to locate contacts by name or category, and data validation to
ensure entry accuracy.
By automating the organization of contact details, this project demonstrates the practical
application of data structures and database management, resulting in a tool that improves
efficiency and reduces the risk of data loss.
3
Swami Vivekanand Institute of Polytechnic
AI and ML
Micro project Contact Management
Project Introduction
Here is a clean, plain-text introduction for your Contact Management System project, stripped of
all bold formatting as requested:
Introduction
Purpose: The primary goal of this project is to develop a digital solution for storing and
managing contact information efficiently.
Problem Statement: Traditional methods like paper diaries or scattered digital notes are
difficult to search and prone to being lost or damaged.
Solution: This software provides a centralized database where users can store names,
phone numbers, and email addresses in a structured format.
Core Functions: The system allows users to perform four main tasks: adding new
contacts, viewing existing ones, updating information, and deleting outdated records.
Technical Overview: The project is built using a logical programming structure and a
storage method that ensures data remains saved even after the program is closed.
User Experience: A simple menu-driven interface is used to make the application
accessible to individuals with basic computer knowledge.
Significance: This micro-project demonstrates the practical implementation of data
management concepts and provides a foundation for more complex database applications.
4
Swami Vivekanand Institute of Polytechnic
AI and ML
Micro project Contact Management
Project Mechanics
Game Mechanics of contact management in C
Here are the project mechanics for your Contact Management System, provided in plain text
without any bold formatting:
Data Input: The system starts by collecting user information like names, phone numbers,
and email addresses through an interactive command prompt or form.
Input Validation: A verification layer checks if the entered phone numbers contain the
correct amount of digits and if the email strings contain necessary symbols like the at-
sign.
Record Storage: The program uses a structured file format or a database table to save
every new entry permanently on the hard drive.
Search Logic: The retrieval mechanic scans through the stored list by comparing a user-
provided keyword against all existing names or IDs in the system.
Update Workflow: To change a contact, the system pulls the specific record into the
active memory, allows the user to edit the fields, and then overwrites the old data.
Deletion Protocol: The software identifies the specific record the user wants to remove
and clears that data from the storage file to keep the list organized.
Loop Control: A central navigation loop keeps the application running after each action
so the user can perform multiple tasks without restarting the program.
Error Management: The system is designed to handle empty searches or incorrect data
types without crashing, providing a smooth experience for the user.
5
Swami Vivekanand Institute of Polytechnic
AI and ML
Micro project Contact Management
History of Contact Management
Ancient Records: Human history shows that merchants and rulers used clay tablets and
papyrus scrolls to keep track of trade partners and political allies.
The Address Book: For centuries, the standard method for managing contacts was the
handwritten leather-bound book, organized alphabetically by last name.
The Rolodex: Invented in the 1950s, this rotating card file became the iconic office tool for
quickly flipping through business cards on a desk.
Personal Organizers: In the 1980s, paper-based systems like the Filofax became popular,
allowing users to carry calendars and contact lists in a portable binder.
Digital Revolution: The 1990s introduced the first digital contact managers, including
dedicated handheld devices known as Personal Digital Assistants or PDAs.
Desktop Software: Early computer programs like ACT! and Microsoft Outlook moved
contact storage from paper to PC hard drives, making data searchable for the first time.
Mobile Integration: With the rise of smartphones, contact management became a core feature
of mobile operating systems, syncing phone numbers with email accounts.
Cloud Computing: Modern systems now store contact data on remote servers, allowing users
to access their information from any device with an internet connection.
CRM Evolution: Contact management has expanded into Customer Relationship
Management, where systems now track social media profiles, interaction history, and birthdays.
6
Swami Vivekanand Institute of Polytechnic
AI and ML
Micro project Contact Management
Objective Of Contact Management
System Development: To design and implement a functional software application that can
store and manage contact details systematically.
Data Organization: To replace traditional paper-based methods with a digital database that
categorizes information like names, phone numbers, and email addresses.
CRUD Implementation: To provide the user with the ability to perform core operations
including creating new records, reading existing ones, updating details, and deleting old data.
Search Efficiency: To include a search mechanism that allows users to find a specific contact
instantly without manually scrolling through a long list.
Data Persistence: To ensure that all entered information is saved into a permanent file or
database so it remains available after the program is closed.
User Interface Design: To create a simple and intuitive navigation menu that allows even non-
technical users to operate the system without confusion.
Error Handling: To implement validation rules that prevent the system from saving incorrect
data types or crashing when a user makes an input mistake.
Skill Application: To demonstrate a practical understanding of programming logic, data
structures, and file handling techniques learned during the course
7
Swami Vivekanand Institute of Polytechnic
AI and ML
Micro project Contact Management
Evolution of Contact Management
The Manual Era: Information was originally kept in handwritten ledgers and bound address
books, where entries were difficult to update and alphabetical sorting was permanent.
The Rolodex Phase: Introduced in the mid-20th century, this rotating card file allowed office
workers to add or remove individual contact cards without rewriting an entire book.
The Pocket Organizer: In the late 1970s and 80s, portable binders like the Filofax became
status symbols, combining calendars, maps, and contact pages in one refillable system.
The Digital Handheld: The 1990s saw the rise of Personal Digital Assistants like the Palm
Pilot, which allowed users to carry thousands of contacts in a pocket-sized electronic device.
Desktop Software: Programs like Microsoft Outlook and Lotus Notes moved contact
management to the personal computer, enabling basic search and email integration.
The Mobile Integration: With the launch of the iPhone and Android, contact lists became a
core part of the phone's operating system, merging call logs with address data.
The Synchronization Shift: Services like Google Contacts and iCloud introduced real-time
syncing, ensuring that a contact added on a phone would instantly appear on a laptop.
Modern CRM Systems: Today, contact management has evolved into Customer Relationship
Management, where software tracks social media activity, past conversations, and even
automated follow-ups.
The AI Era: Current systems use artificial intelligence to automatically scan email signatures
for new details and suggest cleaning up duplicate entries or outdated numbers.
8
Swami Vivekanand Institute of Polytechnic
AI and ML
Micro project Contact Management
Educational Importance
The educational importance of developing a Contact Management System lies in the
fundamental programming and data handling skills it builds. Here are the key learning outcomes
in plain points without any bold formatting:
Logical Thinking: Building this project requires the developer to map out the flow of
information, from user input to data processing and final output.
CRUD Operations: Students learn the four essential pillars of software development:
creating, reading, updating, and deleting data within a system.
File Handling: The project teaches how to read from and write to external files, ensuring
that data is stored permanently on a hard drive rather than just in temporary memory.
Data Structures: This project provides a practical way to understand how to use arrays,
lists, or structures to organize multiple pieces of information like names and numbers.
User Interface Design: Developers learn how to create a menu-driven program that is
easy for others to navigate, focusing on the user experience.
Input Validation: The project emphasizes the importance of data integrity by teaching
students how to write code that rejects incorrect or empty inputs.
Debugging Skills: Testing the system helps students identify and fix common coding
errors, such as infinite loops or file access permissions.
Modular Programming: It encourages breaking down a large task into smaller,
manageable functions or methods, which is a standard practice in professional software
engineering.
Problem Solving: Students must figure out how to handle edge cases, such as what the
program should do if a user tries to delete a contact that does not exis
9
Swami Vivekanand Institute of Polytechnic
AI and ML
Micro project Contact Management
Technologies and Platforms
Choosing the right tools is essential for a successful micro-project. Depending on your
curriculum, you likely used one of the following combinations.
Here are the technologies and platforms commonly used for a Contact Management System in
plain points without any bold formatting:
Programming Languages: Python is the most popular choice for beginners due to its
simple syntax, while C or C++ are often used to demonstrate low-level memory and file
management.
Graphical User Interface: For desktop versions, libraries like Tkinter for Python, Java
Swing, or Windows Forms are used to create buttons and input boxes.
Command Line Interface: Many student projects use a simple console-based interface
where users interact with the program by typing numbers to select menu options.
Data Storage: Simple projects use File Handling with text or binary files like .txt, .dat,
or .csv to store contacts permanently on the disk.
Database Management: More advanced versions use SQLite, which is a lightweight,
serverless database that stores all contact information in a single structured file.
Integrated Development Environment: Common platforms for writing and testing the
code include VS Code, PyCharm, Dev-C++, or even online compilers like Replit.
Version Control: Tools like Git and GitHub are often used to track changes in the code
and collaborate if the project is being done in a team.
Operating Systems: Most of these systems are designed to run on Windows, Linux, or
macOS, as long as the appropriate language compiler or interpreter is installed.
10
Swami Vivekanand Institute of Polytechnic
AI and ML
Micro project Contact Management
Data Structure – “Contact Management”
Data structures are the backbone of a Contact Management System, as they determine how
information is organized, stored, and accessed in computer memory. Here is a breakdown of the
data structures used in this project in plain points without any bold formatting:
Arrays and Lists: These are the most common structures used to store a collection of
contact objects, allowing the program to iterate through every name and number in a
linear sequence.
Structures or Classes: In languages like C++ or Java, a custom data type called a struct or
class is created to group different types of data, such as a string for a name and an integer
for a phone number, into a single unit.
Linked Lists: For systems that need to frequently add or delete contacts without
reallocating memory, a linked list is often used to connect each contact record to the next
one using pointers.
Hash Tables: In advanced versions of the project, a hash table can be used to provide
near-instant search results by mapping a contact name directly to its location in memory.
File Pointers: When saving to a hard drive, the program uses file pointers to navigate to
specific lines or bytes within a text file to read or overwrite data.
Buffers: Temporary memory buffers are used to hold user input before it is validated and
moved into the permanent data structure or saved to a file.
Sorting Algorithms: Structures often work alongside algorithms like Bubble Sort or
Quick Sort to ensure that contacts are displayed in alphabetical order, making them easier
for the user to browse.
11
Swami Vivekanand Institute of Polytechnic
AI and ML
Micro project Contact Management
Algorithm
Step 1: Start the program and initialize the storage file or database to ensure it is ready for
data entry.
Step 2: Display a main menu to the user with options such as Add Contact, View All, Search,
Update, Delete, and Exit.
Step 3: Capture the user's choice and branch the program logic using a switch case or a series
of conditional statements.
Step 4: If the user chooses to Add, prompt for name, phone number, and email, then append
this data to the end of the storage file.
Step 5: If the user chooses to View, open the storage file in read mode and display every
record on the screen in a formatted table.
Step 6: If the user chooses to Search, ask for a keyword, then compare it against every record
in the file until a match is found or the end of the file is reached.
Step 7: If the user chooses to Update, locate the specific record, allow the user to input new
details, and overwrite the old data in the storage system.
Step 8: If the user chooses to Delete, identify the record to be removed and create a temporary
file that excludes that specific entry, then rename it as the primary file.
Step 9: After every operation, return to the main menu to allow the user to perform additional
tasks.
Step 10: If the user chooses to Exit, close all open file pointers and terminate the program
execution
12
Swami Vivekanand Institute of Polytechnic
AI and ML
Micro project Contact Management
13
Swami Vivekanand Institute of Polytechnic
AI and ML
Micro project Contact Management
Source Code
#include<stdio.h>
#include<string.h>
#include<conio.h>
struct Contact
char name[50];
char phone[15];
char email[40];
};
struct Contact c[50]; // Capacity for 50 contacts
int count = 0;
void addContact()
14
Swami Vivekanand Institute of Polytechnic
AI and ML
Micro project Contact Management
if (count < 50)
printf("\nEnter Name: ");
scanf("%s", c[count].name);
printf("Enter Phone Number: ");
scanf("%s", c[count].phone);
printf("Enter Email: ");
scanf("%s", c[count].email);
printf("\nContact added successfully!\n");
count++;
else
printf("\nContact list full!\n");
void searchContact()
15
Swami Vivekanand Institute of Polytechnic
AI and ML
Micro project Contact Management
char searchName[50];
int i, found = 0;
printf("\nEnter Name to search: ");
scanf("%s", searchName);
for(i = 0; i < count; i++)
if(strcmp(c[i].name, searchName) == 0)
printf("\n--- Contact Found ---");
printf("\nName: %s", c[i].name);
printf("\nPhone: %s", c[i].phone);
printf("\nEmail: %s\n", c[i].email);
found = 1;
break;
if(!found)
16
Swami Vivekanand Institute of Polytechnic
AI and ML
Micro project Contact Management
printf("\nContact not found!\n");
void deleteContact()
char delName[50];
int i, j, found = 0;
printf("\nEnter Name to delete: ");
scanf("%s", delName);
for(i = 0; i < count; i++)
if(strcmp(c[i].name, delName) == 0)
for(j = i; j < count - 1; j++)
c[j] = c[j + 1]; // Shift contacts up
count--;
printf("\nContact deleted successfully!\n");
17
Swami Vivekanand Institute of Polytechnic
AI and ML
Micro project Contact Management
found = 1;
break;
if(!found)
printf("\nContact not found!\n");
void displayAll()
int i;
if(count == 0)
printf("\nNo contacts to display.\n");
return;
printf("\n----- Contact List -----\n");
for(i = 0; i < count; i++)
18
Swami Vivekanand Institute of Polytechnic
AI and ML
Micro project Contact Management
printf("\n%d. Name: %s", i + 1, c[i].name);
printf("\n Phone: %s", c[i].phone);
printf("\n Email: %s\n", c[i].email);
int main()
int choice;
do
printf("\n--- Contact Management System ---");
printf("\n1. Add Contact");
printf("\n2. Search Contact");
printf("\n3. Delete Contact");
printf("\n4. Display All");
printf("\n5. Exit");
printf("\nEnter choice: ");
scanf("%d", &choice);
19
Swami Vivekanand Institute of Polytechnic
AI and ML
Micro project Contact Management
switch(choice)
case 1:
addContact();
break;
case 2:
searchContact();
break;
case 3:
deleteContact();
break;
case 4:
displayAll();
break;
case 5:
printf("\nExiting program...");
break;
default:
printf("\nInvalid choice!");
20
Swami Vivekanand Institute of Polytechnic
AI and ML
Micro project Contact Management
} while(choice != 5);
getch();
return 0; }
Output Screen
21
Swami Vivekanand Institute of Polytechnic
AI and ML
Micro project Contact Management
Conclusion
In summary, the development of this Contact Management System has successfully
demonstrated how C programming can be used to build efficient, functional utility software. By
integrating core concepts such as structs for data organization and File I/O for permanent
storage, the project effectively bridges the gap between theoretical logic and practical
application.
The process of building the 'Search,' 'Update,' and 'Delete' modules provided a deep dive into
pointer manipulation and string handling, emphasizing the importance of data integrity.
Ultimately, this project serves as a robust foundation for understanding how low-level languages
manage real-world information systems."
22
Swami Vivekanand Institute of Polytechnic
AI and ML
Micro project Contact Management
References
References
The development of this Contact Management System was primarily based on the core
principles of Procedural Programming using the C Language (Standard C99/C11). Key technical
references were drawn from the implementation of Structures (struct) to create a custom
data type for organizing contact details such as name, phone number, and email address. The
project heavily relies on File Handling logic to ensure data persistence, utilizing the FILE
pointer and functions like fopen, fwrite, fread, and fclose to interact with physical
storage. The logic for record modification and deletion was referenced from standard File
Stream manipulation techniques, involving the use of temporary files and the remove and
rename functions. Development was supported by the GCC (GNU Compiler Collection) and
executed within the Code::Blocks/Dev-C++ IDE environment. Academic guidance was sourced
from standard textbooks such as "Programming in ANSI C" by E. Balagurusamy and "Let Us C"
by Yashavant Kanetkar, alongside official C Standard Library documentation for string handling
and input/output management.
23
Swami Vivekanand Institute of Polytechnic
AI and ML