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

Code PDF

This C++ program defines a telephone class to store contact information like name, phone number, address etc. It includes functions to add, delete, modify contacts. It also has functions to search contacts by name, phone, address etc and generate reports of contacts. The main() function implements a menu driven interface for users to interact with these functions.

Uploaded by

Vaibhav Goel
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
86 views

Code PDF

This C++ program defines a telephone class to store contact information like name, phone number, address etc. It includes functions to add, delete, modify contacts. It also has functions to search contacts by name, phone, address etc and generate reports of contacts. The main() function implements a menu driven interface for users to interact with these functions.

Uploaded by

Vaibhav Goel
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

#include<iostream>

#include<fstream>
#include<iostream>
#include<conio.h>
#include<stdlib.h>
#include<string.h>

using namespace std;

class telephone
{
private:
char name[30];
char fname[30];
char address[100];
char phone[15];
char city[20];
char state[30];
char b_address[100];
char b_phone[15];
char email[50];
public:

void read_data()
{
cout<<"\n Name :";
cin.ignore();
gets(name);
cout<<"\n Father name :";
gets(fname);
cout<<"\n Address :";
gets(address);
cout<<"\n Phone No :";
gets(phone);
cout<<"\n city :";
gets(city);
cout<<"\n State :";
gets(state);
cout<<"\n Business address :";
gets(b_address);
cout<<"\n Business phone no . :";
gets(b_phone);
cout<<"\n Email :";
gets(email);
}

void display_record()
{
system("cls");
cout<<"\n\t\t\t\t Subscriber Details";
cout<<"\n\t\t---------------------------------------------------------------";
cout<<"\n\n\t\tName : ";
cout<<name;
cout<<"\n\n\t\tFather name : ";
cout<<fname;
cout<<"\n\n\t\tAddress : ";
cout<<address;
cout<<"\n\n\t\tPhone No : ";
cout<<phone;
cout<<"\n\n\t\tcity : ";
cout<<city;
cout<<"\n\n\t\tState : ";
cout<<state;
cout<<"\n\n\t\tBusiness address : ";
cout<<b_address;
cout<<"\n\n\t\tBusiness phone no . : ";
cout<<b_phone;
cout<<"\n\n\t\tEmail : ";
cout<<email;
}

void disp_name_phone()

{
cout<<"\n"<<name<<"\t\t\t"<<phone<<"\t"<<address;
}

int count_pages()
{
int rec,pages;
rec=pages=0;
ifstream fin;
fin.open("telephone.dat",ios::binary);
while(fin.read((char*)this,sizeof(telephone)))
rec++;
fin.close();
pages= rec/20;
if((rec%20)!=0)
pages++;
return(pages);
}

void main_menu();
void search_menu();
void report_menu();
void add_member();
void delete_member();
void modify_member();

void search_name();
void search_phone();
void search_address();
void search_email();
void search_fname();

void report_list();
void report_name_phone();
void report_name_address();
void report_name_phone_address();
void report_name_email();
};

void telephone :: main_menu()


{
int choice;
do
{
system("cls");
cout<<"\n\n\n\t\t\t M A I N M E N U ";
cout<<"\n\n\t\t\t1. Add Member";
cout<<"\n\n\t\t\t2. Delete Member";
cout<<"\n\n\t\t\t3. Modify Member";
cout<<"\n\n\t\t\t4. Report";
cout<<"\n\n\t\t\t5. Search";
cout<<"\n\n\t\t\t6. Exit";
cout<<"\n\n\n\t\t\t Enter your choice (1..6) :";
cin>>choice;
switch(choice)
{
case 1: add_member();
break;

case 2: delete_member();
break;

case 3: modify_member();
break;

case 4: report_menu();
break;

case 5: search_menu();
break;
case 6: break;

default: cout<<"\n\n\n Wrong choice..... Try again";


getch();
}

}while(choice!=6);
return ;
}

void telephone :: search_menu()


{
int choice;
do
{
system("cls");
cout<<"\n\n\n\t\t\t S E A R C H M E N U ";
cout<<"\n\n\t\t\t1. NAME";
cout<<"\n\n\t\t\t2. PHONE NO";
cout<<"\n\n\t\t\t3. ADDRESS";
cout<<"\n\n\t\t\t4. EMAIL";
cout<<"\n\n\t\t\t5. FATHER NAME";
cout<<"\n\n\t\t\t6. Exit";
cout<<"\n\n\n\t\t\t Enter your choice (1..6) :";
cin>>choice;
switch(choice)
{
case 1: search_name();
break;
case 2:
search_phone();
break;
case 3:
search_address();
break;
case 4:
search_email();
break;
case 5:
search_fname();
break;
case 6:
break;
default:
cout<<"\n\n\n Wrong choice..... Try again";
getch();
}
}while(choice!=6);
return ;
}

void telephone :: report_menu()


{
int choice;
do
{
system("cls");
cout<<"\n\n\n\t\t\t R E P O R T M E N U ";
cout<<"\n\n\t\t\t1. LIST";
cout<<"\n\n\t\t\t2. NAME --TELEPHONE";
cout<<"\n\n\t\t\t3. NAME - TELEPHONE - ADDRESS";
cout<<"\n\n\t\t\t4. NAME - EMAIL";
cout<<"\n\n\t\t\t5. Exit";
cout<<"\n\n\n\t\t\t Enter your choice (1..5) :";
cin>>choice;
switch(choice)
{
case 1: report_list();
break;

case 2: report_name_phone();
break;

case 3: report_name_phone_address();
break;

case 4: report_name_email();
break;

case 5: break;

default: cout<<"\n\n\n Wrong choice..... Try again";


getch();
}
}while(choice!=5);
return ;
}

void telephone::add_member()
{
system("cls");
ofstream file;
file.open("telephone.dat",ios::app);
read_data();
file.write((char*)this ,sizeof(telephone));
file.close();
return;
}
void telephone::delete_member()
{
ofstream fout;
ifstream fin;
fin.open("telephone.dat",ios::binary);
fout.open("temp.dat",ios::binary);
system("cls");
char tphone[15];
int found=0;
cout<<"\n Enter Telephone no to delete :";
cin.ignore();
gets(tphone);
while(fin.read((char *)this,sizeof(telephone)))
{
if(strcmpi(this->phone,tphone)!=0)
fout.write((char*)this,sizeof(telephone));
else
found=1;
}
fin.close();
fout.close();
remove("telephone.dat");
rename("temp.dat","telephone.dat");
if(found==1)
cout<<"\n Record Sucessfully deleted ";
else
cout<<"\n Record not found";
getch();
}

void telephone::modify_member()
{
ofstream fout;
ifstream fin;
fin.open("telephone.dat",ios::binary);
fout.open("temp.dat",ios::binary);
char tphone[15];
int found=0;
system("cls");
cout<<"\n Enter Telephone no to modify :";
cin.ignore();
gets(tphone);
while(fin.read((char *)this,sizeof(telephone)))
{
if(strcmp(tphone,this->phone)==0)
{
read_data();
found=1;
}
fout.write((char*)this,sizeof(telephone));
}
fin.close();
fout.close();
remove("telephone.dat");
rename("temp.dat","telephone.dat");
if(found==1)
cout<<"\n Record Sucessfully modified";
else
cout<<"\n Record not found";
getch();
}

void telephone::search_address()
{
ifstream fin;
fin.open("telephone.dat",ios::binary);
char taddress[100];
int found ;
found =0;
system("cls");
cout<<"\n Search Screen";
cout<<"\n\n\t\t Address :";
cin.ignore();
cin>>taddress;
while(fin.read((char*)this, sizeof(telephone)))
{
if (strcmpi(taddress,this->address)==0)
{
display_record();
found =1;
}
}
fin.close();
if(found ==0)
cout<<"\n Record does not exist";
getch();
return;
}

void telephone::search_email()
{
ifstream fin;
fin.open("telephone.dat",ios::binary);
char temail[100];
int found ;
found =0;
system("cls");
cout<<"\n Search Screen";
cout<<"\n\n\t\t Email :";
cin.ignore();
gets(temail);
while(fin.read((char*)this, sizeof(telephone)))
{
if (strcmpi(temail,this->email)==0)
{
display_record();
found =1;
}
}
fin.close();
if(found ==0)
cout<<"\n Record does not exist";
getch();
return;
}

void telephone::search_fname()
{
ifstream fin;
fin.open("telephone.dat",ios::binary);
char tfname[100];
int found ;
found =0;
system("cls");
cout<<"\n Search Screen";
cout<<"\n\n\t\t Father Name :";
cin.ignore();
gets(tfname);
while(fin.read((char*)this, sizeof(telephone)))
{
if (strcmpi(tfname,this->fname)==0)
{
display_record();
found =1;
}
}
fin.close();
if(found ==0)
cout<<"\n Record does not exist";
getch();
return;
}

void telephone::search_name()
{
ifstream fin;
fin.open("telephone.dat",ios::binary);
char tname[100];
int found ;
found =0;
system("cls");
cout<<"\n Search Screen";
cout<<"\n\n\t\t Name :";
cin.ignore();
gets(tname);
while(fin.read((char*)this, sizeof(telephone)))
{
if (strcmpi(tname,this->name)==0)
{
display_record();
found =1;
}
}
fin.close();
if(found ==0)
cout<<"\n Record does not exist";
getch();
return;
}

void telephone::search_phone()
{
ifstream fin;
fin.open("telephone.dat",ios::binary);
char tphone[100];
int found ;
found =0;
system("cls");
cout<<"\n Search Screen";
cout<<"\n\n\t\t Phone No :";
cin.ignore();
gets(tphone);
while(fin.read((char*)this, sizeof(telephone)))
{
if (( strcmpi(tphone,this->phone)==0) || strcmpi(tphone,this->b_phone)==0)
{
display_record();
found =1;
}
}
fin.close();
if(found ==0)
cout<<"\n Record does not exist";
getch();
return;
}

void telephone::report_list()
{
int pages = count_pages();
int cur_page=1;
int n=0;
ifstream fin;
fin.open("telephone.dat",ios::binary);
system("cls");
cout<<"\n\t\t\t\t Report "<<cur_page<< " of "<<pages;
cout<<"\n-------------------------------------------------------------------------------------------------------------------";
cout<<"\n\n S.No"<<"\t\t Name \t\t\tAddress\t\t Phone\t\t\tEmail";
cout<<"\n-------------------------------------------------------------------------------------------------------------------";
while(fin.read((char*)this, sizeof(telephone)))
{
n++;
if(n%21==0)
{
cout<<"\n------------------------------------------------------------------------------------------------------------";
cout<<"\n\t\t\t\tPress any key to continue...........";
getch();
cur_page++;
system("cls");
cout<<"\n\t\t\t\t Report "<<cur_page<< " of "<<pages;
cout<<"\n------------------------------------------------------------------------------------------------------------";
cout<<"\n\n S.No"<<"\t\t Name \t\t\tAddress\t\t Phone\t\tEmail";
cout<<"\n------------------------------------------------------------------------------------------------------------";
}
cout<<"\n"<<n<<"\t |\t"<<this->name<<"\t |\t"<<this->address<<"\t |\t "<<this->phone<<"\t |
\t"<<this->email;
}
cout<<"\n-------------------------------------------------------------------------------------------------------------------";
cout<<"\n Total Records :"<<n;
fin.close();
getch();
return;
}

void telephone::report_name_phone_address()
{
int pages = count_pages();
int cur_page=1;
int n=0;
ifstream fin;
fin.open("telephone.dat",ios::binary);
system("cls");
cout<<"\n\t\t\t\t Report "<<cur_page<< " of "<<pages;
cout<<"\n-----------------------------------------------------------------------------";
cout<<"\n\n S.No"<<"\t\t Name \t\t\tAddress\t\t Phone\t\t";
cout<<"\n-----------------------------------------------------------------------------";
while(fin.read((char*)this, sizeof(telephone)))
{
n++;
if(n%21==0)
{
cout<<"\n----------------------------------------------------------------------";
cout<<"\n\t\t\t\tPress any key to continue...........";
getch();
cur_page++;
system("cls");
cout<<"\n\t\t\t\t Report "<<cur_page<< " of "<<pages;
cout<<"\n--------------------------------------------------------------------------";
cout<<"\n\n S.No"<<"\t\t Name \t\t\tAddress\t\t Phone\t\t";
cout<<"\n--------------------------------------------------------------------------";
}
cout<<"\n"<<n<<"\t |\t"<<this->name<<"\t |\t"<<this->address<<"\t |\t "<<this->phone<<"\t | \t";
}
cout<<"\n----------------------------------------------------------------------------";
cout<<"\n Total Records :"<<n;
fin.close();
getch();
return;
}

void telephone::report_name_address()
{
int pages = count_pages();
int cur_page=1;
int n=0;
ifstream fin;
fin.open("telephone.dat",ios::binary);
system("cls");
cout<<"\n\t\t\t\t Report "<<cur_page<< " of "<<pages;
cout<<"\n-----------------------------------------------------------------------------";
cout<<"\n\n S.No"<<"\t\t Name \t\t\t\t\t\t Address";
cout<<"\n-----------------------------------------------------------------------------";
while(fin.read((char*)this, sizeof(telephone)))
{
n++;
if(n%21==0)
{
cout<<"\n----------------------------------------------------------------------";
cout<<"\n\t\t\t\tPress any key to continue...........";
getch();
cur_page++;
system("cls");
cout<<"\n\t\t\t\t Report "<<cur_page<< " of "<<pages;
cout<<"\n--------------------------------------------------------------------------";
cout<<"\n S.No"<<"\t\t Name \t\t\t\t\t\t Address";
cout<<"\n--------------------------------------------------------------------------";
}
cout<<"\n"<<n<<"\t |\t"<<this->name<<"\t |\t\t\t\t\t"<<this->address;
}
cout<<"\n----------------------------------------------------------------------------";
cout<<"\n Total Records :"<<n;
fin.close();
getch();
return;
}

void telephone::report_name_email()
{
int pages = count_pages();
int cur_page=1;
int n=0;
ifstream fin;
fin.open("telephone.dat",ios::binary);
system("cls");
cout<<"\n\t\t\t\t Report "<<cur_page<< " of "<<pages;
cout<<"\n--------------------------------------------------------------------------------------------------";
cout<<"\n\n S.No"<<"\t\t Name \t\t\t\t\t Email";
cout<<"\n--------------------------------------------------------------------------------------------------";
while(fin.read((char*)this, sizeof(telephone)))
{
n++;
if(n%21==0)
{
cout<<"\n-------------------------------------------------------------------------------------------";
cout<<"\n\t\t\t\tPress any key to continue...........";
getch();
cur_page++;
system("cls");
cout<<"\n\t\t\t\t Report "<<cur_page<< " of "<<pages;
cout<<"\n-------------------------------------------------------------------------------------------";
cout<<"\n S.No"<<"\t\t Name \t\t\t\t Email";
cout<<"\n-------------------------------------------------------------------------------------------";
}
cout<<"\n"<<n<<"\t |\t"<<this->name<<"\t |\t\t\t"<<this->email;
}
cout<<"\n--------------------------------------------------------------------------------------------------";
cout<<"\n Total Records :"<<n;
fin.close();
getch();
return;
}

void telephone::report_name_phone()
{
int pages = count_pages();
int cur_page=1;
/* steps to show report menu and data */
int n=0;
ifstream fin;
fin.open("telephone.dat",ios::binary);
system("cls");
cout<<"\n\t\t\t\t Report "<<cur_page<< " of "<<pages;
cout<<"\n-----------------------------------------------------------------------------";
cout<<"\n\n S.No"<<"\t\t Name \t\t\t\t Phone";
cout<<"\n-----------------------------------------------------------------------------";
while(fin.read((char*)this, sizeof(telephone)))
{
n++;
if(n%21==0)
{
cout<<"\n----------------------------------------------------------------------";
cout<<"\n\t\t\t\tPress any key to continue...........";
getch();
cur_page++;
system("cls");
cout<<"\n\t\t\t\t Report "<<cur_page<< " of "<<pages;
cout<<"\n--------------------------------------------------------------------------";
cout<<"\n S.No"<<"\t\t Name \t\t\t Phone";
cout<<"\n--------------------------------------------------------------------------";
}
cout<<"\n"<<n<<"\t |\t"<<this->name<<"\t |\t\t"<<this->phone;
}
cout<<"\n------------------------------------------------------------------------------";
cout<<"\n Total Records :"<<n;
fin.close();
getch();
return;
}

int main()
{
telephone t;
cout<<"\n\n\n\n\n\t\t\t VAISNO TRAVEL
AGENCY"<<"\n\t\t\t===========================";
cout<<"\n\n\t\t\tMADE BY:- VAIBHAV GOEL"<<"\n\n\t\t\tAIR FORCE SCHOOL HINDAN, GZB";
getch();
system("cls");
t.main_menu();
return 0;
}

You might also like