Book: D. S. Malik Data Structures Using C++ 2nd Edition create a c++ program fro
ID: 3737068 • Letter: B
Question
Book: D. S. Malik
Data Structures Using C++
2nd Edition
create a c++ program from chapter 3 page 205 exercise 9
Explanation / Answer
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
#include<string.h>
class dateType
{
protected:
int dd;
int mm;
int yy;
public:
dateType()
{
dd=mm=yy=0;
}
dateType(int d,int m ,int y)
{
dd=d;mm=m;yy=y;
}
int checkMonth(int m)
{ if(mm==m)
return 1;
else
return 0;
}
void showDate()
{
cout<<" "<<dd<<"\"<<mm<<"\"<<yy;
}
};
class personType : public dateType
{
private:
char ssn[20];
char fname[20];
char lname[30];
char gender[8];
public:
personType()
{
}
void getPerson()
{
int d,m,y;
cout<<" Enter SSN No:";
cin>>ssn;
cout<<" Enter First Name:";
cin>>fname;
cout<<" Enter Last Name";
cin>>lname;
cout<<" Enter Gender[male/female]";
cin>>gender;
cout<<" Enter date of Birth";
cin>>dd>>mm>>yy;
}
int findLname(char ln[])
{
if(strcmp(lname,ln)==0)
return 1;
else
return 0;
}
int findname(char fn[],char ln[])
{
if(strcmp(fname,fn)==0)
if(strcmp(lname,ln)==0)
return 1;
else
return 0;
}
void showPerson()
{
cout<<" SSN : "<<ssn;
cout<<" First Name"<<fname;
cout<<" Last Name"<<lname;
showDate();
}
};
class addressType
{
char street[30];
char city[20];
char state[20];
char zipc[10];
public:
addressType(){ }
void getAddress()
{
cout<<" Enter Street";
cin>>street;
cout<<" Enter City";
cin>>city;
cout<<" Enter State";
cin>>state;
cout<<" Enter ZipCode";
cin>>zipc;
}
void showAddress()
{
cout<<" Street Address:"<<street;
cout<<" City :"<<city;
cout<<" State: "<<state;
cout<<" Zip Code:"<<zipc;
}
};
class extPersonType: public personType, public addressType
{
char desig[3];
char assocto[20];
public:
extPersonType()
{
}
void getPersonDetails(){
getPerson();
getAddress();
cout<<" Enter Status[Friend(f),Family Friend(ff),Business Assoc(ba)";
cin>>desig;
cout<<" Your are Assciated To Person with SSN";
cin>>assocto;
}
int checkStatus(char st[])
{
if(strcmp(st,desig)==0)
return 1;
else
return 0;
}
void showAllDetails()
{
showPerson();
showAddress();
cout<<" Desig :"<<desig;
cout<<" Associated to :"<<assocto;
}
};
class AddressBookType : public extPersonType
{
public:
void getAddressEntry()
{
getPersonDetails();
}
void showAddBook()
{
showAllDetails();
}
};
void main()
{
AddressBookType entries[50];
int c=0;
char ch='y';
while(ch=='y' || ch=='Y')
{
cout<<" Address Book Entry ";
entries[c].getAddressEntry();
cout<<" Next entry[y/n]";
cin>>ch;
}
char ln[30];
cout<<" Enter last name to Find";
cin>>ln;
for(int i=0;i<c;++i)
{
if(entries[i].findLname(ln)==1)
{ entries[i].showAddBook();
break;
}
}
char fn[20];
cout<<" Enter Person name first name and last name to Find";
cin>>fn>>ln;
for(i=0;i<c;++i)
{
if(entries[i].findname(fn,ln)==1)
{ entries[i].showAddBook();
break;
}
}
int mnth;
cout<<" Enter Month to list names";
cin>>mnth;
for(i=0;i<c;++i)
{
if(entries[i].checkMonth(mnth)==1)
{ entries[i].showAddBook();
break;
}
}
cout<<" Which status do you want to Find Friend[f]/Family Friend[ff]/Bussiness Associate[ba]";
char stat[2];
cin>>stat;
for(i=0;i<c;++i)
{
if(entries[i].checkStatus(stat)==1)
{ entries[i].showAddBook();
break;
}
}
}