32
1 TERM PAPER Of FOUNDATION OF COMPUTING Topic: - TELEPHONE DIRECTORY Submitted To: - Submitted By:- ms. Sukhdilpreet kaur ASHUTOSH KUMAR ROLL NO.:- R246B47 REGD. NO:- 10801374

Telephone directory

Embed Size (px)

DESCRIPTION

Telephone directory

Citation preview

Page 1: Telephone directory

1

TERM PAPER

Of

FOUNDATION OF COMPUTING

Topic: - TELEPHONE DIRECTORY

Submitted To: - Submitted By:-

ms. Sukhdilpreet kaur ASHUTOSH KUMAR

ROLL NO.:- R246B47

REGD. NO:- 10801374

Page 2: Telephone directory

2

ACKNOWLEDGEMENT

It is not until you undertake the project like this one that you realize

how massive the effort it really is, or how much you must rely upon

the Selfless efforts and goodwill of others. There are many who

helped us with this project, and we want to thank them all from the

core of our Hearts.

We owe special words of thanks to our Teachers

MS.SUKHDILPREET KAUR for their vision, thoughtful

counseling and encouragement at every step of the project. We are

also thankful to the teachers of the Department for giving us the best

of knowledge and guidance throughout the project.

And last but not the least, we find no words to acknowledge the

financial assistance & moral support rendered by our parents in

making the effort a success. All this has become reality because of

their blessings and above all by the grace of god.

ASHUTOSH KUMAR

ROLL NO:-R246B47

REGD.ID:-10801374

Page 3: Telephone directory

3

TABLE OF CONTENTS

S.No Content Page no.

1 Introduction 4

2 System Requirement 8 3 System Description 9 4 System Design 10

5 Source code 11 6 Output 29 7 Testing 32

8 Future scope 33

INTRODUCTION:

Page 4: Telephone directory

4

We have discussed so far various features of C language and are

ready to write and execute program of modest complexity. However,

before attempting to develop complex programs, it is worthwhile to

consider some programming techniques that would help design

efficient and error free.

The program development process includes three important stages,

namely, program design, program coding and program testing. All the

three stages contribute to the production of high quality program.

In “TELEPHONE DIRECTORY” we have done system design,

source coding, and program testing and added many more features to

facilitate the user with the best. We have given the user the facility to

enter the person’s record and providing the option to save and delete

that record and many more options.

We can improve the efficiency of the system, thus overcome the

drawbacks of the existing system.

· Less human error

· Strength and strain of manual labour can be reduced

· High security

· Data consistency

· Easy to handle

· Easy data updating

· Easy record keeping

· Backup data can be easily genera

OVERVIEW TO C

HISTORY OF C:

Page 5: Telephone directory

5

C is a popular general purpose programming language. It is one

of the most popular computer languages today, because it is a

structured, high level, machine independent language.

The root of all modern language is ALGOL, introduced in early

1960’s. ALGOL was the 1st computer language to use a block

structure. Subsequently, several other languages were announced after

1960’s. In 1967, Martin Richard developed a language called BCPL

i.e. basic combined programming language mainly for writing system

software. In 1970, Ken Thompson created a language using many

features of BCPL and called it simply B. B was used to create early

version of UNIX operating system.

C was evolved from ALGOL, BCPL, and B by Dennis Ritchie at the

Bell Laboratories in 1972, strongly associated with UNIX. During

1970’s, C had evolved into the “TRADITIONAL C”. With the

publication of the book ‘The C Programming language’ by Brian

Kerningham and Dennis Ritchie in 1978, it becomes more powerful.

In 1983, American National Standards Institutes (ANSI) appointed a

technical committee to define a standard for C. The committee

approved a version of C in December 1989, which is now known as

ANSI C. It was then approved by International Standard Organization

(ISO) in 1990.

IMPORTANCE OF C:

Page 6: Telephone directory

6

The increasing popularity of C is probably due to its many

desirable qualities. The C compiler combines the capabilities of an

assembly language with the features of a high level language and

therefore it is well suited for writing both system software and

business packages. In fact many of the C compilers available in the

market are written in C. Programs written in C are efficient and fast.

This is due to its variety of data types and powerful operators. It is

many times faster than BASIC.

There are only 32 key words in ANSI C and its strength lies in its

built in functions. C is highly portable; this means that C programs

written for one computer can be run on another with little or no

modifications. C language is well suited for structured programming,

thus requiring the user to think of a problem in terms of function

modules or blocks. This modular structure makes program de-

bugging, testing and maintenance easier.Another important feature of

C is its ability to extend itself. We can continuously add our own

functions to C library, thus our programming task becomes so easier

and simple.

Introduction of TELEPHONE DIRECTORY

We can make this TELEPHONE DIRECTORY in C language by using three

or more than three header files or many data types such as:

Page 7: Telephone directory

7

1. #include<stdio.h> : this header file will contain Scanf() , Printf () And,

there are many header files which are used in this program….

2. #include<conio.h>: this header file will contain Clrscr(); , Getch(); , and

many more…..

3. #include<string.h> : this header file will contain string function such as

1.Strrev();

2. Strlen();

3. Strupr();

4. Strlwr();

5. And many mores……

SYSTEM REQUIREMENTS

Operating System: Windows 2000/NT/Xp/Vista

RAM: 256 MB or more

HARD DISK 40 GB or more

Page 8: Telephone directory

8

Processor P3 or High

Compiler Standard C++ Compiler

SYSTEM DESCRIPTION

THE OPERATING SYSTEM USED IN THIS PROJECT IS

WINDOWSXPIT HAS MICROSOFT OFFICE INSTALLED IN IT.

IT HAS RAM OF 2GB. HARD DISK CAPACITY OF OPERATING

SYSTEM IS 250GB. IT CONSISTS OF PENTIUM-4

PROCESSOR.THE OPEREATING SYSTEM ALSO HAS C++

COMPILER. THE SYSTEM ALSO HAS TYPE CONVERSIONS

WHICH CONVERT LOWER TO UPPER TYPE. THE

OPERATING SYSTEM HAVE 1GB RAM FOR MICROSOFT

WORLD.

Page 9: Telephone directory

9

system design:

START

WELCOME TO THE

MAIN MENU

ENTER YOUR

CHOICE

Page 10: Telephone directory

10

IF YES IF NO

SOURCE CODE

#include<stdio.h>

#include<stdlib.h>

#include<conio.h>

#include<alloc.h>

#include<string.h>

#include<graphics.h>

struct entry

Page 11: Telephone directory

11

{

char name[50];

char nick[50];

char email[50];

char address[50];

char city[50];

char cont[50];

char pin[50];

struct entry *lptr;

struct entry *rptr;

}*temp,*newe,*l,*r;

typedef struct entry *list;

void newentry();

void display(char n[50]);

void deletentry(char n[50]);

void displayall();

void makempty();

int isempty();

void saventry();

void loadentry();

void deleteall();

void newentry()

{

Page 12: Telephone directory

12

char a[50],b[50],f[50],g[50],c[50],d[50],e[50];

int i,k=0;

printf("Enter the Datas for the New Entry:");

printf("Name :");

scanf("%s",a);

printf("Nick name :");

scanf("%s",b);

printf("E-mail ID :");

scanf("%s",c);

printf("Address :");

scanf("%s",d);

printf("City :");

scanf("%s",e);

printf("Contact No:");

scanf("%s",f);

printf("Pincode :");

scanf("%s",g);

newe=(struct entry*)malloc(sizeof(struct entry));

for(i=0;i<50;i++)

{

newe->name[i]=' ';

newe->nick[i]=' ';

newe->email[i]=' ';

Page 13: Telephone directory

13

newe->address[i]=' ';

newe->city[i]=' ';

newe->cont[i]=' ';

newe->pin[i]=' ';

}

for(i=0;i<50;i++)

{

newe->name[i]=a[i];

newe->nick[i]=b[i];

newe->email[i]=c[i];

newe->address[i]=d[i];

newe->city[i]=e[i];

newe->cont[i]=f[i];

newe->pin[i]=g[i];

}

if(isempty())

{

newe->lptr=newe->rptr=NULL;

l=r=newe;

printf("Your Entry is Added");

}

else

{

Page 14: Telephone directory

14

temp=l;

while(temp!=NULL)

{

i=stricmp(newe->name,temp->name);

if(i<0)

break;

else if(i>0)

temp=temp->rptr;

else if(i==0)

{

printf("Name Already Exists.Entry cannot be Added");

k=1;

break;

}

}

if(k!=1)

{

if(temp==l)

{

newe->lptr=NULL;

newe->rptr=l;

l->lptr=newe;

l=newe;

Page 15: Telephone directory

15

printf("Your Entry is Added");

}

else if(temp==NULL)

{

newe->rptr=NULL;

newe->lptr=r;

r->rptr=newe;

r=newe;

printf("Your Entry is Added");

}

else

{

newe->rptr=temp;

newe->lptr=temp->lptr;

temp->lptr=newe;

(newe->lptr)->rptr=newe;

printf("Your Entry is Added");

}

}

}

}

void displayall()

Page 16: Telephone directory

16

{ int n=1;

if(!isempty())

{

temp=l;

while(temp!=NULL)

{

printf("[%d] Name :%s Nick Name :%s E-mail ID :%s address :%s

City :%s Contact.No:%s Pin code :%s",n,temp->name,temp->nick,temp-

>email,temp->address,temp->city,temp->cont,temp->pin);

temp=temp->rptr;

n++;

}

}

else

printf("Address Book is Empty");

}

void deletentry(char n[50])

{

int i;

if(isempty())

printf("Address Book is Empty");

else{

Page 17: Telephone directory

17

temp=l;

while(temp!=NULL)

{

i=stricmp(temp->name,n);

if(i==NULL)

{

if(l==r)

{

l=r=NULL;

printf("Entry deleted");

break;

}

else if(temp==l)

{

l=l->rptr;

l->lptr=NULL;

printf("Entry deleted");

break;

}

else if(temp==r)

{

r=r->lptr;

r->rptr=NULL;

Page 18: Telephone directory

18

printf("Entry deleted");

break;

}

else{

(temp->lptr)->rptr=temp->rptr;

(temp->rptr)->lptr=temp->lptr;

printf("Entry deleted");

break;

}

}

temp=temp->rptr;

}

if(temp==NULL)

printf("Not Found");

}

}

int isempty()

{

return l==NULL;

}

void makempty()

Page 19: Telephone directory

19

{

l=r=NULL;

printf("Address Book is Emptied");

}

void display(char n[50])

{

int i,p=1;

if(isempty())

printf("Address Book is Empty");

else

{

temp=l;

while(temp!=NULL)

{

i=stricmp(temp->name,n);

if(i==NULL)

{if(p==1)

printf("Entry is found in %dst position",p);

Page 20: Telephone directory

20

else if(p==2)

printf("Entry is found in %dnd position",p);

else if (p==3)

printf("Entry is found in %drd position",p);

else

printf("Entry is found in %dth position",p);

printf("Name :%s Nick Name :%s E-mail ID :%s address :%s City

:%s Contact.No:%s Pin code :%s ",temp->name,temp->nick,temp-

>email,temp->address,temp->city,temp->cont,temp->pin);

break;

}

temp=temp->rptr;

p++;

}

if(temp==NULL)

printf("Entry Not Found");

}

}

void main()

{

int l=1,m;

int gd=DETECT,gm;

Page 21: Telephone directory

21

char n[50];

initgraph(&gd,&gm,"c:\tc\bgi");

while(l!=8)

{

clrscr();

textmode(C80);

textcolor(4);

cprintf("*********************************************************

***********************#------------------------MINI PROJECT-TELEPHONE

DIRECTORY --------------------

#***************************************************************

*****************");

cprintf("Enter Your Choice");

printf(" ");

cprintf("(1)-New Entry");

printf(" ");

cprintf("(2)-Display an Entry");

printf(" ");

cprintf("(3)-Delete an Entry");

printf(" ");

cprintf("(4)-Display all Entries");

printf(" ");

cprintf("(5)-Empty the book");

printf(" ");

Page 22: Telephone directory

22

cprintf("(6)-Save Entry");

printf(" ");

cprintf("(7)-Load Entries");

printf(" ");

cprintf("(8)-Delete All Saved Files");

printf(" ");

cprintf("(9)-End");

printf(" ");

cprintf("*********************************************************

***********************");

printf(" ");

scanf("%d",&l);

switch(l)

{

case 1:

textcolor(2);

newentry();

getch();

break;

case 2:

textcolor(2);

cprintf("Enter the Name of the Person to Display");

printf(" ");

Page 23: Telephone directory

23

scanf("%s",&n);

display(n);

getch();

break;

case 3:

textcolor(2);

cprintf("Enter the Name of the Person to Delete");

printf(" ");

scanf("%s",&n);

deletentry(n);

getch();

break;

case 4:

textcolor(2);

displayall();

getch();

break;

case 5:

textcolor(2);

makempty();

getch();

break;

case 6:

Page 24: Telephone directory

24

textcolor(2);

saventry();

getch();

break;

case 7:

textcolor(2);

loadentry();

getch();

break;

case 8:

textcolor(2);

deleteall();

getch();

break;

case 9:

textcolor(2);

printf("Program Ends Here.Thank You!!!");

printf(" ");

getch();

break;

default:

textcolor(2);

printf("Enter a Valid Choice from 1-9 only");

Page 25: Telephone directory

25

printf(" ");

getch();

break;

}

}

getch();

}

void saventry()

{

char n[50];

int c;

list t;

int i;t=l;

printf("Enter the Name of the Person");

scanf("%s",n);

if(isempty())

printf("Address Book is Empty");

else

{

FILE *f;

f=fopen("entry.c","a");

while(t!=NULL)

{

Page 26: Telephone directory

26

i=stricmp(t->name,n);

if(i==0)

{

fprintf(f,"%s %s %s %s %s %s %s",t->name,t->nick,t->email,t->address,t->city,t-

>cont,t->pin);

printf("Your Entry Saved");

printf("Add Another Entry? (1-yes/2-no)");

scanf("%d",&c);

if(c==1)

saventry();

else if(c==2)

break;

}

t=t->rptr;

}

fclose(f);

if(t==NULL)

printf("Entry Not Found");

}

}

void loadentry()

{

int i=1;

Page 27: Telephone directory

27

list t;

FILE *f;

f=fopen("entry.c","r");

if(f==NULL)

{

printf("Cannot Open");

exit(1);

}

while(fscanf(f," %s %s %s %s %s %s %s",t->name,t->nick,t->email,t-

>address,t->city,t->cont,t->pin)!=EOF)

{ printf("[%d] Name :%s Nick Name :%s E-mail ID :%s address

:%s City :%s Contact.No:%s Pin code :%s",i,t->name,t->nick,t-

>email,t->address,t->city,t->cont,t->pin);

i++;}

fclose(f);

}

void deleteall()

{

FILE *f;

f=fopen("entry.c","w");

fclose(f);

printf("all saved files were delete");

}

Page 28: Telephone directory

28

OUTPUT

Page 29: Telephone directory

29

Page 30: Telephone directory

30

Page 31: Telephone directory

31

TESTING

THE SOURCECODE DECLARED ABOVE FOR THE PROGRAM

OF TELEPHONE DIRECTORY HAS BEEN TESTED AND IT

HAS BEEN FOUND THAT THE ABOVE SOURCE CODE IS

OKAY AND CORRECT.THE PROGRAM INVOLVES MANY

TYPE OF CONVERSIONS. THESE CONVERSIONS HAS TO

DONE CAREFULLY.

MAINLY THERE ARE TWO TYPES OF TESTING:

1-SYSTEM TESTING AND

2-INTEGRATION TESTING

SYSTEM TESTING INVOLVES WHOLE TESTING OF

PROGRAM AT ONCE AND INTEGRATION TESTING

INVOLVES THE BREAKING OF PROGRAM INTO MODULES &

THEN TEST.

Page 32: Telephone directory

32

FUTURE SCOPE

In future one change can be done by adding the fingerprints of the

persons of which the address is entered.And one more major change

which can be done in this project is that to add the snaps of the person

of which the address is entered.We can also add or subtract details of

the individual.