Professional Documents
Culture Documents
Rich Text Editor File
Rich Text Editor File
Rich Text Editor File
com
There is some personal infomation in the introduction and end. Please remove them before use. */ #include<fstream.h> #include<iostream.h> #include<conio.h> #include<ctype.h> #include<process.h> #include<iomanip.h> #include<stdio.h> #include<string.h> #include<stdlib.h> void welcome_screen(); void welcome_screen() { clrscr(); gotoxy(20,10); cputs("**************** W E L C O M E *********************** "); gotoxy(25,12); cputs("*** C A M P I O N S C H O O L *** " ); gotoxy(20,14); textcolor(WHITE); cputs(" T E L E P H O N E M A N A G E M E N T S O F T W A R E "); gotoxy(38,16); textcolor(WHITE); cputs(" D O N E B Y : "); gotoxy(50,18); cputs(" Navi Arora "); gotoxy(50,20); cputs(""); textcolor(WHITE+BLINK); gotoxy(40,30); cputs(" *** PRESS ANY KEY TO CONTINUE***"); getch(); return; } class directory { public: int record; long pn1; char pn2[10]; int age; char address1[50]; char address2[50]; char occupation[20]; char name[20]; char emailadd[25]; char internetadd[25];
void modification(); void addition(); void deleate(); void menu(); void search(); void view1(); void init(); void display(); void view(); char check(char *); int test(); }obj; void directory::addition() //ADDING INFORMATION { ofstream fout; fout.open("heera",ios::out|ios::app); init(); fout.write((char*)&obj,sizeof(obj)); fout.close(); } int directory::test() //FIND NO. OF RECORDS { ifstream fin; fin.open("heera"); fin.seekg(0,ios::end); int n; n=fin.tellg()/sizeof(obj); cout<<" \n NUMBER OF RECORDS = "<<n ; return n ; } void directory::search() //SEARCHING FOR A PARTICULAR NUMBER { ifstream fin; fin.open("heera"); if(fin.fail()) { cout<<" \n FILE NOT FOUND "; getch(); return; } clrscr(); textcolor(BLACK+BLINK); gotoxy(30,1); cprintf(" [SEARCHING] "); cout<<" \n ENTER PHONE NUMBER TO BE SEARCHED : "; long pn; cin>>pn; int n; n=test(); for(int i=0;i<n;i++) { fin.read((char*)&obj,sizeof(obj)); if(pn==pn1) { view1(); return;
} } if(fin.eof()) { cout<<" \n RECORD NOT FOUND "; } } void directory::init() // ENTERING THE DETAILS { clrscr(); char ch; textcolor(BLACK+BLINK); gotoxy(30,1); cprintf(" [ADDITION] "); textcolor(BLACK); cout<<" \n ENTER HOUSE PHONE NUMBER : "; cin>>pn1; cout<<" \n ENTER OFFICE PHONE NUMBER : "; cin>>pn2; // ch=cin.get(); cin.get(ch); cout<<" \n ENTER NAME : "; cin.getline(name,20,'\n'); cout<<" \n ENTER THE OCCUPATION : "; cin.getline(occupation,20,'\n'); cout<<" \n ENTER HOUSE ADDRESS : "; cin.getline(address1,50,'\n'); cout<<" \n ENTER OFFICE ADDRESS : "; cin.getline(address2,50,'\n'); cout<<" \n ENTER EMAIL ADDRESS : "; cin.getline(emailadd,25,'\n'); cout<<" \n ENTER INTERNET ADDRESS : "; cin.getline(internetadd,25,'\n'); } void directory::view1() //TO DISPLAY ALL THE RECORDS { cout<<"\n"; cout<<" PHONE NUMBER1 : "<<obj.pn1<<"\n"; cout<<" PHONE NUMBER2 : "<<obj.pn2<<"\n"; cout<<" NAME : "<<obj.name<<"\n"; cout<<" HOUSE ADDRESS : "<<obj.address1<<"\n"; cout<<" OCCUPATION : "<<obj.occupation<<"\n"; cout<<" OFFICE ADDRESS : "<<obj.address2<<"\n"; cout<<" EMAIL ADDRESS : "<<obj.emailadd<<"\n"; cout<<" INTERNET ADDRESS : "<<obj.internetadd<<"\n"; getch(); } void directory::modification() //TO MODIFY ANY DATA IN THE RECORD IF NECESSARY { clrscr(); textcolor(BLACK+BLINK); gotoxy(30,1); cprintf(" [ MODIFICATION ] "); textcolor(BLACK);
long pn; int n,i; ifstream fin; ofstream fout; fin.open("heera"); if(fin.fail()) { cout<<"\n FILE NOT FOUND !"; fout.close(); exit(-1); } fout.open("new"); n=test(); if(n==0) { cout<<"\n FILE IS EMPTY ! "; getch(); return; } while(fin.good()) { fin.read((char*)&obj,sizeof(obj)); fout.write((char*)&obj,sizeof(obj)); } fin.close(); fout.close(); fout.open("heera",ios::trunc); fin.open("new"); if(fin.fail()) { cout<<"\n FILE NOT FOUND !"; exit(-1); } char ch; cout<<"\n ENTER PHONE NUMBER :"; cin>>pn; ch=cin.get(); // cin.get(ch); for(i=0;i<n;i++) { fin.read((char*)&obj,sizeof(obj)); char d; if(pn==pn1) { view1(); d=check("HOUSE PHONE NUMBER "); if((d=='y') || (d=='Y')) { cout<<"\n ENTER NEW PHONE NUMBER :"; cin>>pn1; ch=cin.get(); // cin.get(ch); } if(check("OFFICE PHONE NUMBER ")=='Y') { cout<<"\n ENTER NEW PHONE NUMBER :";
cin>>pn2; ch=cin.get(); // cin.get(ch); } if(check("NAME")=='y') { cout<<"\n ENTER NEW NAME : "; cin.getline(name,20,'\n'); } if(check("HOME ADDRESS")=='y') { cout<<"\n ENTER NEW ADDRESS :"; cin.getline(address1,50,'\n'); } if(check("OFFICE ADDRESS")=='y') { cout<<"\n ENTER NEW ADDRESS :"; cin.getline(address2,50,'\n'); } if(check("EMAIL ADDRESS:")=='y') { cout<<"\n ENTER NEW MAIL ADDRESS :"; cin.getline(emailadd,25,'\n'); } if(check("INTERNET ADDRESS")=='y') { cout<<"\n ENTER NEW INTERNET ADDRESS :"; cin.getline(internetadd,25,'\n'); } } fout.write((char*)&obj,sizeof(obj)); } fout.close(); fin.close(); } char directory::check(char *s) { cout<<"\n MODIFY \t "<<s<<"\t"<<"Y/N"; char ch; ch =getch(); //cin.get(ch); if((ch=='y')||(ch=='Y')) return 'y'; else return 'n'; } void directory::deleate() { clrscr(); window(1,1,80,25); textcolor(BLACK+BLINK); gotoxy(30,1); cprintf("[DELETION]"); long pn; int n,i; ifstream fin;
ofstream fout; fin.open("heera"); if(fin.fail()) { cout<<"\n FILE NOT FOUND ! "; getch(); return; } fout.open("new"); n=test(); if(n==0) { cout<<"\n FILE IS EMPTY ! "; getch(); return; } for(i=0;i<n;i++) { fin.read((char*)&obj,sizeof(obj)); fout.write((char*)&obj,sizeof(obj)); } fin.close(); fout.close(); fout.open("meera",ios::trunc); fin.open("new"); if(fin.fail()) { cout<<"\n FILE NOT FOUND ! "; getch(); return; } cout<<"\n ENTER PHONE NUMBER :"; cin>>pn; for(i=0;i<n;i++) { fin.read((char*)&obj,sizeof(obj)); if(pn!=pn1) fout.write((char*)&obj,sizeof(obj)); } fout.close(); fin.close(); } void directory::view() { ifstream fin; int n,j; fin.open("heera"); if(fin.fail()||fin.bad()) { cout<<"\n FILE NOT FOUND ! "; getch(); return; } clrscr(); int i=0;
n=test(); for(j=0;j<n;j++) { cout<<"\n RECORD "<<i+1<<"\n"; fin.read((char*)&obj,sizeof(obj)); cout<<"\n PHONE NUMBER1 :"<<obj.pn1<<"\n"; cout<<"\n PHONE NUMBER2 :"<<obj.pn2<<"\n"; cout<<"\n NAME :"<<obj.name<<"\n"; cout<<"\n HOUSE ADDRESS :"<<obj.address1<<"\n"; cout<<"\n OCCUPATION :"<<obj.occupation<<"\n"; cout<<"\n OFFICE ADDRESS :"<<obj.address2<<"\n"; cout<<"\n INTERNET ADDRESS :"<<obj.internetadd<<"\n"; cout<<"\n EMAIL ADDRESS : "<<obj.emailadd<<"\n"; i+=1; } fin.close(); getch(); } void directory::menu() { char ch; clrscr(); textbackground(WHITE); textcolor(BLACK); gotoxy(30,8); cprintf(" A:ADDITION "); gotoxy(30,9); cprintf(" D: DELETION \n \r "); gotoxy(30,10); cprintf(" M:MODIFICATION \n \r "); gotoxy(30,11); cprintf(" V:VIEW \n \r "); gotoxy(30,12); cprintf(" S:SEARCH \n \r "); gotoxy(30,13); cprintf(" E:EXIT \n \r "); ch=getch(); switch(ch) { case 'a': case 'A': addition(); break; case 'd' : case 'D' : deleate(); break; case 'm': case 'M': modification(); break; case 'v': case 'V':
view(); break; case 's': case 'S': search(); break; case 'e': case 'E': system("cls"); exit(0); } } int main() { welcome_screen(); for(;;) obj.menu(); return 0; }