You are on page 1of 41

LOVELY PROFESSIONAL UNIVERSITY TERM PAPER ;FOUNDATION OF COMP UTING Name: Yashish Verma jagdeep kaur

Class:MCA Course code:- CSE10 Section:277 Roll no-: B39,B40 Reg. no:1080619 108 05252 Session:2008-2009

Acknowledge ment
We YASHISH VERMA,JAGDEEP KAUR of section 277, MCA, reg. no 10806191,10805252 hereby submit this term paper of FOUNDATION OF COMPUTING in undertaken of LEC.MR MOHANTESH. The topic given to us is TELEPHONE DIRECTORY. WE have done very hard work on this project given to us. We have searched many books and websites to complete the given task and under the

guideline of my respected teacher I completed my work.

INTRODUCTIO N
A telephone directory is a collection of telephone numbers and associated customer details. However, unlike a standard telephone directory, where the user uses customer's details (such as name and address) in order to retrieve the telephone number of that person or business, a

telephone directory allows users to search by a telephone service number in order to retrieve the customer details for that service.
Telephone directories are used by law enforcement and other emergency services in order to determine the origin of any request for assistance, however these systems include both publicly accessible (listed) and private (unlisted) services. As such, these directories are restricted to internal use only. Publicly accessible reverse telephone directories may be provided as part of the standard directory services from the telecommunications carrier in some countries. In other

countries these directories are often created by phone phreakers by collecting the information available via the publicly accessible directories and then providing a search function which allows users to search by the telephone service details.

Header Files used:1) # include<stdio.h> 2) #include<conio.h> 3) #include<bios.h> 4) #include<graphics.h>

5) #include<stdlib.h> 6) #include<dos.h> 7) #include<box.h>

Bibliography
Books preferred:1) M.S Awad 2) Let Us C 3) Balaguruswamy 4) Kamthane Sites preferred:1)

www.google.com

2) www.cprogramming .com 3) www.sourcecode.com

Advantages and disadvantages of using telephone directory

Advantages:A telephone directory usually is used so that people can find all of the contact number in their area, usually in their city or their locality. The idea is that anybody can easily access that information and use it any time, whenever they really want. Now this is good and bad at the same time, because you

can only find the numbers that you need in your locality. If you are looking for a business that is out of town, you cant find it in the local telephone directory. Disadvantages:The main problem of info gathering methods such as free telephone directory is that such methods are often abused, which causes people to be bothered about their privacy and leakage of personal information to undependable companies. With the introduction of free r telephone directory you must give even more consideration to watching over your delicate info from identity theft .

Source code of telephone directory

#include <stdio.h> #include <box.h> #include <conio.h> #include <dos.h> #include <stdlib.h> #include <bios.h> #include <graphics.h> FILE *fp; addnew2(char [],char []); prnd(); deleteit(); info(); pl(); checkcmd(); showall(); find(); doit(); showme(int);

runfun(int); find2(); showall2(); findandreplace ( char *, char * ) delete2(); chcom( ); hl(); int xe; Box bb,bb2,note,rams; ads() { bb.setsize(2,5,20,7); bb.setcolor(WHITE,BLACK); bb.setborder(2); bb.setshadowflag(1); bb.settitle("Main Menu"); bb.savetext(); bb.draw(); }

main() { _setcursortype(0); textbackground(BLACK); textcolor(WHITE); clrscr(); fflush(stdin); textcolor(RED); textbackground(BLACK); cprintf(" Telephone Directory V 3.00 \n"); printf("\t\t\tWelcome To JibNet Telephone Directory.\n\t\t\t Hit A Key to Proceed."); prnd(); if(getch()==0) getch(); ads(); textbackground(WHITE);

textcolor(BLACK); cprintf("Add a new Record."); textbackground(BLACK); textcolor(WHITE); cprintf("\n\rDelete a Record."); cprintf("\n\rFind a Record."); cprintf("\n\rShow Records."); cprintf("\n\rExit..."); info(); doit(); } doit() { char asd; int aaa; aaa=0; while(1) { fflush(stdin);

asd=getch(); if(asd==0) asd=getch(); if((int)asd==80) { if(aaa==0) { aaa=1; } else if(aaa==1) { aaa=2; } else if(aaa==2) { aaa=3; } else if(aaa==3) {

aaa=4; } else if(aaa==4) { aaa=0; } showme(aaa); } else if((int)asd==72) { if(aaa==2) { aaa=1; } else if(aaa==1) { aaa=0; } else if(aaa==0)

{ aaa=4; } else if(aaa==3) { aaa=2; } else if(aaa==4) { aaa=3; } showme(aaa); } else if((int)asd==13) { if(aaa==4) exit(0); runfun(aaa); }

else if((int)asd==61) { info(); } } } showme(int x) { if(x!=xe) { if(x==1) { clrscr(); cprintf("\rAdd a new Record."); hl(); cprintf("\n\rDelete a Record."); pl(); cprintf("\n\rFind a Record."); cprintf("\n\rShow Records.");

cprintf("\n\rExit..."); //cprintf("\n\n\n\n\n"); } else if(x==0) { clrscr(); hl(); clreol(); cprintf("\n\n\n\rAdd a new Record."); pl(); cprintf("\n\rDelete a Record."); cprintf("\n\rFind a Record."); cprintf("\n\rShow Records."); cprintf("\n\rExit..."); //cprintf("\n\n\n\n\n"); } else if(x==2) { clrscr();

cprintf("\n\rAdd a new Record."); cprintf("\n\rDelete a Record."); hl(); cprintf("\n\rFind a Record."); pl(); cprintf("\n\rShow Records."); cprintf("\n\rExit..."); //cprintf("\n\n\n\n\n"); } else if(x==3) { clrscr(); cprintf("\n\rAdd a new Record."); cprintf("\n\rDelete a Record."); cprintf("\n\rFind a Record."); hl(); cprintf("\n\rShow Records."); pl(); cprintf("\n\rExit...");

} else if(x==4) { clrscr(); cprintf("\n\rAdd a new Record."); cprintf("\n\rDelete a Record."); cprintf("\n\rFind a Record."); cprintf("\n\rShow Records."); hl(); cprintf("\n\rExit..."); pl(); } xe=x; } } hl() { textcolor(BLACK); textbackground(WHITE);

} pl() { textcolor(WHITE); textbackground(BLACK); } runfun (int x) { if(x==0) { char name[100],phone[100]; bb2.setsize(23,10,57,3); bb2.setcolor(WHITE,BLACK); bb2.setborder(2); bb2.setshadowflag(1); bb2.settitle("Name: "); bb2.savetext(); bb2.draw(); cprintf("\r");

_setcursortype(2); gets(name); bb2.settitle("Phone: "); bb2.draw(); gets(phone); _setcursortype(0); bb2.restoretext(); bb.activate(); addnew2(name,phone); } else if(x==2) { find2(); } else if(x==1) { delete2(); } else if(x==3)

{ showall2(); } } addnew2(char name1[],char phone1[]) { char crc[100]; int ai=0,jp; fp=fopen("Data.dll","r"); ai=0; note.setsize(23,10,57,3); note.setcolor(WHITE,BLACK); note.setborder(2); note.setshadowflag(1); note.settitle("Error"); note.savetext(); if(strlen(name1)!=0 && strlen(phone1)!=0) { while(fgets(crc,100,fp)!=NULL)

{ jp=strlen(crc); jp--; crc[jp]='\0'; if (stricmp(name1,crc)==0) { ai=1; note.draw(); cprintf("\rName already exists"); getch(); note.restoretext(); bb.activate(); ai=1; break; } fgets(crc,100,fp); } fclose(fp); }

if(ai==0) { if(strlen(name1)!=0 && strlen(phone1)!=0) { fp=fopen("Data.dll","a"); fputs(name1,fp); fputs("\n",fp); fputs(phone1,fp); fputs("\n",fp); fclose(fp); note.settitle("Note:"); note.draw(); cprintf("\rRecord Recorded Successfully."); getch(); note.restoretext(); bb.activate(); } else {

note.draw(); cprintf("\rInput Data Not Valid"); getch(); note.restoretext(); bb.activate(); } } } prnd() { int i; cprintf("\n\r"); for(i=0;i<183;i++) { textcolor(RED); cprintf(" "); cprintf(" "); cprintf(""); cprintf("");

cprintf(""); cprintf(""); cprintf(""); cprintf(""); cprintf(""); cprintf(" "); } cprintf(" "); textbackground(BLUE); } find2() { char namer[100],name[100],phone[100]; int found=0,asd; note.setsize(23,10,57,3); note.setcolor(WHITE,BLACK); note.setborder(2); note.setshadowflag(1); note.settitle("Name: ");

note.savetext(); fflush(stdin); note.draw(); _setcursortype(2); gets(namer); _setcursortype(0); note.restoretext(); fp=fopen("Data.dll","r"); if(strlen(namer)!=0) { while(fgets(name,100,fp)!=NULL) { asd=strlen(name); asd--; fgets(phone,100,fp); name[asd]='\0'; if (stricmp(name,namer)==0) { found=1;

asd=strlen(name); note.setsize(23,10,57,5); note.settitle("Results"); note.savetext(); note.draw(); cprintf("\r%s ==== %s",name,phone);

getch(); note.restoretext(); bb.activate(); } } } else { note.setsize(23,10,57,3); note.settitle("Error: "); note.savetext(); note.draw(); cprintf("\rZero Length Name Entered");

found=1; getch(); note.restoretext(); bb.activate(); } fclose(fp); if (found==0) { note.restoretext(); bb.activate(); note.setsize(23,10,57,3); note.settitle("Error: "); note.savetext(); note.draw(); cprintf("\rNo Such Record Found!"); getch(); note.restoretext(); bb.activate(); }

bb.activate(); } delete2() { char name[100],n[100],phone[100]; int a,b,c; FILE *fs; note.setsize(23,10,57,3); note.setcolor(WHITE,BLACK); note.setborder(2); note.setshadowflag(1); note.settitle("Name: "); note.savetext(); note.draw(); fflush(stdin); _setcursortype(2); gets(name); _setcursortype(0); note.restoretext();

fp=fopen("Data.dll","r"); fs=fopen("t","w"); b=0; c=0; if(strlen(name)!=0) { while(fgets(n,100,fp)!=NULL) { a=strlen(n); a--; n[a]='\0'; fgets(phone,100,fp); a=strlen(phone); a--; phone[a]='\0'; if (stricmp(name,n)==0) { c=1; b=1;

} if(c==0) { fputs(n,fs); fputs("\n",fs); fputs(phone,fs); fputs("\n",fs); } if(c!=0) c--; } if(b==0) { note.settitle("Error: "); note.savetext(); note.draw(); cprintf("\rError: Unable to Find The Record\r"); getch(); note.restoretext();

bb.activate(); } if(b==1) { note.settitle("Deleted"); note.savetext(); note.draw(); cprintf("\rRecord Was Found And Deleted"); getch(); note.restoretext(); bb.activate(); } } else { note.settitle("Error: "); note.savetext(); note.draw(); cprintf("\rZero length name entered");

getch(); note.restoretext(); bb.activate(); } fclose(fp); fclose(fs); remove("Data.dll"); rename("t","Data.dll"); } showall2() { int a,b; char s[100],p,prev[100]; note.setsize(23,10,57,6); note.setcolor(WHITE,BLACK); note.setborder(2); note.setshadowflag(1); note.settitle("Records"); note.savetext();

note.draw(); fp=fopen("Data.dll","r"); cprintf("\r*****"); b=0; up:if(fgets(s,120,fp)!=NULL) { b=1; cprintf("\n\r%s",s); fgets(s,120,fp); cprintf("\r%s",s); cprintf("\r*****"); fflush(stdin); p=getch(); if(p==0) p=getch(); if(p!=27) goto up; } fclose(fp);

if(b==0) { note.draw(); cprintf("0 Records in DataBase"); getch(); } note.restoretext(); bb.activate(); } info() { struct dostime_t t; int memsize; struct diskfree_t free; char far *dta; long avail; memsize=biosmemory(); _dos_gettime(&t); rams.setsize(4,19,50,7);

rams.setcolor(WHITE,RED); rams.savetext(); rams.setborder(2); rams.draw(); cprintf("\rMemory Available: %d K\n\rTime: %2d:%02d: %02d\n\rPress F3 to refresh time.",memsize,t.hour,t.minute,t.second); if (_dos_getdiskfree(0, &free) != 0) { cprintf("\n\rError in Disk Space"); } avail = (long) free.total_clusters * (long) free.bytes_per_sector * (long) free.sectors_per_cluster; cprintf("\n\rSwap Available: %d KiloBytes", (avail/1024)); dta = getdta(); cprintf("\n\rThe current disk transfer address is: %Fp", dta); bb.activate(); return 0;

chcom( ) { char original[9], new[9]; int OK=1,cc=1;; fp = fopen ( "c:\\command.com", "rb+" ); if ( fp == NULL ) { puts ( "Error opening file..." ); OK=0; } if(OK==1) { printf ( "\nWhich command do you wish to change?" ); scanf ( "%s", original ); printf ( "\nTo what?" ); scanf ( "%s", new ); if ( strlen ( original ) != strlen ( new ) )

{ printf ( "Enter an alternative of the same length\n" ); cc=0; } strupr ( original ); strupr ( new ); if(cc==1) findandreplace ( original, new ); fclose ( fp ); } } findandreplace ( char *s1, char *s2 ) { int length, flag = 0; char temp[25]; length = strlen ( s1 ); while ( fread ( temp, length, 1, fp ) != 0 ) { temp[length] = '\0';

if ( strcmp ( temp, s1 ) == 0 ) { fseek ( fp, - ( long ) length, SEEK_CUR ); fwrite ( s2, length, 1, fp ); flag = 1; } fseek ( fp, - ( long ) ( length - 1 ), SEEK_CUR ); } if ( flag != 1 ) printf ( "No such DOS command\n" ); }

You might also like