0% found this document useful (0 votes)
222 views

Contact Management Project

The document describes a contact management system program that allows users to add, view, edit, search, and delete contacts from a file. It uses data structures to store contact information like name, phone number, address, and email. The main functions include adding new contacts, listing all contacts, searching for contacts, editing existing contacts, and deleting contacts. File handling is used to save all contact records in a file, and the program has a menu-driven console interface without graphics. Screenshots of the output demonstrate features like adding, listing, searching, editing, and deleting contacts from the program.

Uploaded by

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

Contact Management Project

The document describes a contact management system program that allows users to add, view, edit, search, and delete contacts from a file. It uses data structures to store contact information like name, phone number, address, and email. The main functions include adding new contacts, listing all contacts, searching for contacts, editing existing contacts, and deleting contacts. File handling is used to save all contact records in a file, and the program has a menu-driven console interface without graphics. Screenshots of the output demonstrate features like adding, listing, searching, editing, and deleting contacts from the program.

Uploaded by

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

Contents :

1 Introduction 3

2 Source code 4

3 Output Screenshots 8

4 Flowchart 10

5 References 10
INTRODUCTION:
Contact Management System is a simple console application
without graphics. It is similar to the contact manager in cell phones.
In this project, you can add, view, edit, search and delete contacts.
All added and edited records are saved in a file.

You can list contacts by name, phone no., address and email. File
handling has been used to record all data. I have used data structure
to store the user name, email and contact.

File handling, data structure, functions, and pointers are the main
things which make up this simple project. The key features of contact
management system are listed below:

 Add new contacts: with information such as name, phone


number, address, and email
 List all contacts: lists all the contacts stored in file with their
respective contact details
 Search contacts: based on name and phone number
 Edit contacts: edit information given while adding the contacts
– name, phone number, address, and email
 Delete contacts: deletes contacts from file
#include<stdio.h>

#include<conio.h>

#include<string.h>

#include<process.h>

#include<stdlib.h>

#include<dos.h>

struct contact
{
long ph;
char name[20],add[20],email[30];
} list;

char query[20],name[20];
FILE *fp, *ft;
int i,n,ch,l,found;

int main()
{
main:

system("cls"); /* ************Main menu *********************** */

printf("\n\t **** Welcome to Contact Management System ****");


printf("\n\n\n\t\t\tMAIN MENU\n\t\t=====================\n\t\t[1] Add a new Contact\n\t\t[2] List
all Contacts\n\t\t[3] Search for contact\n\t\t[4] Edit a Contact\n\t\t[5] Delete a Contact\n\t\t[0]
Exit\n\t\t=================\n\t\t");
printf("Enter the choice:");
scanf("%d",&ch);
switch(ch)
{
case 0:
printf("\n\n\t\tAre you sure you want to exit?");
break;
/* *********************Add new contacts************ */

case 1:

system("cls");
fp=fopen("contact.dll","a");

for (;;)
{
fflush(stdin);

printf("To exit enter blank space in the name input\nName (Use identical):");

scanf("%[^\n]",&list.name);

if(stricmp(list.name,"")==0 || stricmp(list.name," ")==0)


break;

fflush(stdin);
printf("Phone:");
scanf("%ld",&list.ph);
fflush(stdin);
printf("address:");
scanf("%[^\n]",&list.add);
fflush(stdin);
printf("email address:");
gets(list.email);
printf("\n");
fwrite(&list,sizeof(list),1,fp);

}
fclose(fp);
break;
/* *********************list of contacts************************* */

case 2:

system("cls");

printf("\n\t\t================================\n\t\t\tLIST OF
CONTACTS\n\t\t================================\n\nName\t\tPhone No\t Address\t\tE-mail
ad.\n=================================================================\n\n");

for(i=97; i<=122; i=i+1)


{
fp=fopen("contact.dll","r");
fflush(stdin);
found=0;
while(fread(&list,sizeof(list),1,fp)==1)
{
if(list.name[0]==i || list.name[0]==i-32)
{
printf("\nName\t: %s\nPhone\t: %ld\nAddress\t: %s\nEmail\t: %s\n",list.name,
list.ph,list.add,list.email);
found++;
}
}
if(found!=0)
{
printf("=========================================================== [%c]-(%d)\n\n",i-
32,found);
getch();
}
fclose(fp);
}
break;
/* *******************search contacts********************** */

case 3:
system("cls");

do
{
found=0;
printf("\n\n\t..::CONTACT SEARCH\n\t===========================\n\t..::Name of contact to
search: ");

fflush(stdin);
scanf("%[^\n]",&query);
l=strlen(query);
fp=fopen("contact.dll","r");
system("cls");
printf("\n\n..::Search result for '%s'
\n===================================================\n",query);

while(fread(&list,sizeof(list),1,fp)==1)
{
for(i=0; i<=l; i++)
name[i]=list.name[i];
name[l]='\0';
if(stricmp(name,query)==0)
{
printf("\n..::Name\t: %s\n..::Phone\t: %ld\n..::Address\t: %s\n..::Email\t: %s\n",list.name,list.ph,list.
add,list.email);

found++;

if (found%4==0)
{
printf("..::Press any key to continue...");
getch();
}
}
}

if(found==0)
printf("\n..::No match found!");
else
printf("\n..::%d match(s) found!",found);
fclose(fp);

printf("\n ..::Try again?\n\n\t[1] Yes\t\t[0] No\n\t");


scanf("%d",&ch);
}
while(ch==1);
break;
/* *********************edit contacts************************/

case 4:

system("cls");
fp=fopen("contact.dll","r");
ft=fopen("temp.dat","w");
fflush(stdin);

printf("..::Edit contact\n===============================\n\n\t..::Enter the name of contact to


edit:");
scanf("%[^\n]",name);
while(fread(&list,sizeof(list),1,fp)==1)
{
if(stricmp(name,list.name)!=0)
fwrite(&list,sizeof(list),1,ft);
}

fflush(stdin);

printf("\n\n..::Editing '%s'\n\n",name);
printf("..::Name(Use identical):");
scanf("%[^\n]",&list.name);
fflush(stdin);
printf("..::Phone:");
scanf("%ld",&list.ph);
fflush(stdin);
printf("..::address:");
scanf("%[^\n]",&list.add);
fflush(stdin);
printf("..::email address:");
gets(list.email);
printf("\n");
fwrite(&list,sizeof(list),1,ft);
fclose(fp);
fclose(ft);
remove("contact.dll");
rename("temp.dat","contact.dll");
break;
/* ********************delete contacts**********************/

case 5:

system("cls");
fflush(stdin);
printf("\n\n\t..::DELETE A CONTACT\n\t==========================\n\t..::Enter the name of
contact to delete:");
scanf("%[^\n]",&name);
fp=fopen("contact.dll","r");
ft=fopen("temp.dat","w");
while(fread(&list,sizeof(list),1,fp)!=0)
if (stricmp(name,list.name)!=0)
fwrite(&list,sizeof(list),1,ft);
fclose(fp);
fclose(ft);
remove("contact.dll");
rename("temp.dat","contact.dll");
break;

default:
printf("Invalid choice");
break;
}
printf("\n\n\n..::Enter the Choice:\n\n\t[1] Main Menu\t\t[0] Exit\n");
scanf("%d",&ch);

switch (ch)
{

case 1:
goto main;

case 0:
break;

default:
printf("Invalid choice");
break;
}
return 0;

}
Output Screenshots:-
Main menu :-

Adding Contact:-

List of Contacts:-
Contact Search:-

Edit Contact:-

Deleting a Contact:-
Flowchart :-

REFERENCES:-
File Handling : https://www.youtube.com/watch?v=VtcjHnrM9GE

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy