Sie sind auf Seite 1von 16

A minor project report on

CONTACT MANAGEMENT SYSTEM


Submitted
In the partial fulfillment of the requirements for

Data Structures Minor Project

By

Madhurya. K (REG. NO: 181FA04086)


Sai Mounika. D (REG. NO: 181FA04108)
Likhitha Lakshmi (REG. NO: 181FA04112)

Under the guidance of


Mr. Amar Jukuntla, M.Tech.,

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

Vignan’s Foundation for Science and Technology Research


Deemed to be University
Vadlamudi, Guntur - 522213, INDIA.

November 2019

1
DEPARTMENT OF COMPUTER SCIENCE & ENGINEEING

CERTIFICATE

This is to certify that the report entitled “Contact management system” is

submitted by MADHURYA(181FA04086), SAI MOUNIKA(181FA04108),

LIKHITHA LAKSHMI(180FA04112) in the partial fulfilment of course work

of Data structures as a minor project, carried outin the department of CSE

,VFSTR deemed to be university.

SIGNATURE SIGNATURE

Dr. VenkatesuluDondeti, Mr. Amar Jukuntla,

HEAD OF THE DEPARTMENT DS Faculty


Professor Assistant Professor
Department of CSE Department of CSE

Submitted for the External Review held on ……………………….

InternalExaminer External Examiner

2
TABLE OF CONTENTS

Title PageNo.

1. 1 BONAFIDE CERTIFICATE
2. 2 ABSTRACT
3. 3 INTRODUCTION
4 HARDWARE AND SOFTWARE REQUIREMENTS
4. 5 PROBLEM DEFINTION
5. 6 PROPOSED SYSTEM
6. 7 REQUIREMENT ANALYSIS
7. 8 SOURCE CODE
8. 9 SCREENSHOTS
9. 10 REFERENCES

3
ABSTRACT:
 A contact manager is a software programs which enables users to easily
store and find contact information, such as names, addresses and
telephone numbers.
 They are contact-centric databases that provide a fully integrated
approach to tracking of all information and communication activities
linked to contacts. Simple ones for personal use are included in most
smart phones.
 On a daily basis, everyone depends on a lot of contacts which cannot be
remembered so easily as it’s tough to do so. Hence dependability
increases on phones. So we came up with a simple project-Contact
Management System
 In this you can list contacts by name, phone no., and email. File handling
has been used to record all data. We have used data structure to store the
user name, email and c.

4
INTRODUCTION:
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

 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. Overall, understanding the simple
source code of this project will teach you how to add, edit, search, list and
remove data using file.

5
HARDWARE AND SOFTWARE REQUIREMENTS:

Hardware:
Dual Core Processor with 1GB RAM and 250GB Hard Drive.
Windows 2008 Server or higher / Windows 8 (or higher) Professional Edition

Software:
Turbo C or CODE BLOCKS or DEV C++,
C language with linked list as data structures.

PROBLEM DEFINITION:

A contact manager is a software programs which enables users to easily store


and find contact information, such as names, addresses and telephone numbers.

They are contact-centric databases that provide a fully integrated approach to


tracking of all information and communication activities linked to contacts.
Simple ones for personal use are included in most smart phones.

This is similar to contact manager in Mobile phones. You can add contacts,
remove contacts, edit contacts, search contacts and view all contacts. Graphics
is not used just a console application suitable for learning purpose for beginner
and can be used as a reference for college mini project. In this project you
learning file handling, how to write data, delete data and search data form file.

6
PROPOSED SYSTEM:

This project requires Turbo C or CODE BLOCKS or DEV C++ C language


with linked list as data structures.
The dev C++ requires WINDOWS 8 and above OS.

REQUIREMENT ANALYSIS:

 Integration of Email, Contacts, Tasks, and Calendar. Supporting your network


requires all of those, so a tool to help you manage it should too. (I refer bellow to an entry
in any one of these as an event). My favourite piece of integration is the automatic add of
new contacts to my contact lists.
 Reminders for events relevant to your contacts. Any good calendar should do this.
Unfortunately, most require the calendar to be open to perform this. Hosted calendars
like Google’s and Yahoo’s, allow you to be reminded by email. A handy function for
those of us on the run.
 Reminders to reach out to your contacts. You can do this manually now through tasks
or using your calendar, but this is ripe for automation.
 Provide context about each contact. This should be presented when you are reading or
creating a task/email/meeting in your system. How you know the person, and the last
time you saw them, etc., are usually available through searching your contacts and
calendar if you keep track of these, but again, ripe for automation.
 Provide context about each conversation. Latest emails, events, etc. each time you are
creating a task/email/meeting in your system.
 Show tasks outstanding and recently completed for the individuals in each action. A
summary of the tasks you owe someone can help define a productive conversation.
 Show tasks outstanding and recently completed by the individuals in each action. A
summary of what you are owed, similarly can help define a productive conversation.
 Automatic tagging of actions and participants. With all of the natural language
processing developments over the recent years, it would be relatively simple to pull
themes from the content of each event and record those along with the participants. When
you create new events, the tag database could be polled as you are creating a new event to
recommend people who may be interested, and other relevant topics. Would be a helpful
plug-in for your word processor too.

7
SOURCE CODE:

void addNewcontact(void)
{
newc = (struct contact *)malloc(sizeof(struct contact));

if(firstc==NULL)
firstc = currentc = newc;

else
{
currentc = firstc;

while(currentc->next != NULL)currentc = currentc->next;


currentc->next = newc;
currentc = newc;
}

cnum++;
printf("%27s: %5i\n","contact number",cnum);
currentc->number = cnum;
printf("%27s: ","Enter contact name");
gets(currentc->name);

printf("%27s: ","Enter contact Phone number");


gets(currentc->phone);

printf("%27s: ","Enter contact email");


gets(currentc->email);
printf("contact added!");
currentc->count=0;
currentc->next = NULL;
}
void listAll(void)
{
if(firstc==NULL)
puts("There are no contacts to display!");

else
{
printf("%6s %-20s %-15s %-
15s\n","Acct#","Name","Phone","Email");

8
puts("------ -------------------- ------------- -------------------");
currentc=firstc;

do
{

printf("%6d: %-20s %-15s %-20s\n",\


currentc->number,\
currentc->name,\
currentc->phone,\
currentc->email);
}

while((currentc=currentc->next) != NULL);
}
}
void deletecontact(void)
{
int record;
struct contact *previousa;

if(firstc==NULL)
{
puts("There are no contacts to delete!");
return;
}

listAll();
printf("Enter contact account number to delete: ");
scanf("%d",&record);

currentc = firstc;

while(currentc != NULL)
{
if(currentc->number == record)
{
if(currentc == firstc)
firstc=currentc->next;
else
previousa->next = currentc->next;
free(currentc);
printf("contact%d deleted!\n",record);

9
return;
}
else
{
previousa=currentc;
currentc=currentc->next;
}
}
printf("contact%d not found!\n",record);
}
void modifycontact(void)
{
int record, result;

if(firstc==NULL)
{
puts("There are no contacts to modify!");
return;
}

listAll();
printf("Enter contact account number to modify or change: ");
scanf("%d",&record);

result = findnum(record);

if( result >0 ){


printf("Contact %d:\n",currentc->number);
printf("Name: %s\n",currentc->name);
if(prompt())
gets(currentc->name);
printf("Phone: %s\n",currentc->phone);
if(prompt())
gets(currentc->phone);
printf("Email: %s\n",currentc->email);
if(prompt())
gets(currentc->email);
return;
}
printf("contact %d was not found!\n",record);
}
int findnum (int recordnum)
{

10
int record;
record = recordnum;
currentc = firstc;
while(currentc != NULL)
{

if(currentc->number == record)
{
return 1;
}

else
{
currentc = currentc->next;
}
}
return -1;
}
int findcontact(void)
{
char buff[20];

if(firstc==NULL)
{
puts("There are no contacts to find!");
return 1;
}

printf("Enter contact name: ");


fflush(stdin);
gets(buff);

currentc = firstc;
while(currentc != NULL)
{
if( strcmp(currentc->name, buff) == 0 )
{
printf("%6s %-20s %-15s %-15s\n","Acct#","Name","Phone","Email");
printf("%6d: %-20s %-15s %-20s\n");
currentc->number;
currentc->name;
currentc->phone;
currentc->email;

11
return 0;
}
else
{
currentc = currentc->next;
}
}
printf("contact %s was not found!\n",buff);
return 1;
}
int prompt(void)
{
char ch;

fflush(stdin);
printf("Update? (Y to update any other key to not)");
ch = getchar();
ch = toupper(ch);
fflush(stdin);
if(ch == 'Y')
{
printf("Enter new value: ");
return(1);
}
else
return(0);

12
SCREENSHOTS

13
5

14
15
REFERENCES:

https://www.codewithc.com
https://code-projects.org
https://projectworlds.in

16

Das könnte Ihnen auch gefallen