Aim: To implement a program to maintain information of employees in an educational institute using inheritance.
Code:
class staff
{
int code;
char name[20];
public:
void getdata();
void displaydata();
};
class teacher:staff
{
char subject[10];
char publication[20];
public:
void getdata();
void displaydata();
};
class typist:staff
{
int speed;
public:
void getdata();
void displaydata();
};
class regular:typist
{
int salary;
public:
void getdata();
void displaydata();
};
class casual:typist
{
int daily_wages;
public:
void getdata();
void displaydata();
};
class officer:staff
{
int grade;
public:
void getdata();
void displaydata();
};
void staff::getdata()
{
cout<<"\nEmployee code: ";
cin>>code;
cout<<"Name: ";
cin>>name;
}
void officer::getdata()
{
staff::getdata();
cout<<"Enter Officer Grade: ";
cin>>grade;
}
void teacher::getdata()
{
staff::getdata();
cout<<"Enter Subject: ";
cin>>subject;
cout<<"Enter Publication: ";
cin>>publication;
}
void typist::getdata()
{
staff::getdata();
cout<<"Enter typing speed: ";
cin>>speed;
}
void regular::getdata()
{
typist::getdata();
cout<<"Enter salary: ";
cin>>salary;
}
void casual::getdata()
{
typist::getdata();
cout<<"Enter daily Wages: ";
cin>>daily_wages;
}
void staff::displaydata()
{
cout<<"\nEmployee code: "<
cout<<"\nName: "<
}
void officer::displaydata()
{
staff::displaydata();
cout<<"\nOfficer Grade: "<
}
void teacher::displaydata()
{
staff::displaydata();
cout<<"\nSubject: "<
cout<<"\nPublication: "<
}
void typist::displaydata()
{
staff::displaydata();
cout<<"\nTyping speed: "<
}
void regular::displaydata()
{
typist::displaydata();
cout<<"\nSalary: Rs."<
}
void casual::displaydata()
{
typist::displaydata();
cout<<"Daily Wages: Rs."<
}
void main()
{
int ch;
clrscr();
do
{
cout<<"\n\n1. Teacher\n2. Officer\n3. Typist\n4. Exit\nEnter your choice:";
cin>>ch;
switch(ch)
{
case 1:
teacher t1;
cout<<"\n\tEnter Teacher's Details:";
t1.getdata();
cout<<"\n\t**Details Registered Successfully**\n\n";
t1.displaydata();
break;
case 2:
officer o1;
cout<<"\n\tEnter Officer's Details:";
o1.getdata();
cout<<"\n**\tDetails Registered Successfully**\n\n";
o1.displaydata();
break;
case 3:
int typ;
cout<<"\n1. Regular Typist\n2. Casual Typist\nEnter choice:";
cin>>typ;
switch (typ)
{
case 1:
regular tr1;
cout<<"\n\tEnter Typist's Details:";
tr1.getdata();
cout<<"\n**\tDetails Registered Successfully**\n\n";
tr1.displaydata();
break;
case 2:
casual tc1;
cout<<"\n\tEnter Typist's Details:";
tc1.getdata();
cout<<"\n**\tDetails Registered Successfully**\n\n";
tc1.displaydata();
break;
default:
cout<<"Wrong Selection!";
}
}
}while(ch!=4);
getch();
}
Output:
1. Teacher
2. Officer
3. Typist
4. Exit
Enter your choice: 3
1. Regular Typist
2. Casual Typist
Enter choice:2
Enter Typist's Details:
Employee code: 555
Name: Anjali
Enter typing speed: 53
Enter daily Wages: 250
** Details Registered Successfully**
Employee code: 555
Name: Anjali
Typing speed: 53 wpm
Daily Wages: Rs.250
1. Teacher
2. Officer
3. Typist
4. Exit
Enter your choice:4