An educational institution wishes to maintain a database of its employees. The database is divided into number of classes whose hierarchical relationships are shown in below figure. The figure also shows minimum information required for each class. Specify all the classes and define functions to create the database and retrieve individual information as and when required.

 


#include<iostream>
using namespace std;
class staff
{
    protected:
            int code;
            string name;
    public:
            void setdata()
            {
                cout<<"enter the code : "<<endl;
                cin>>code;
                cout<<"enetr the name : "<<endl;
                cin>>name;
            }
};

class teacher : public staff
{
    private:
            string sub;
            string publication;
    public:
            void getdata();
            void showdata();
};

void teacher :: getdata()
{
    setdata();
    cout<<"enter the sub of teacher : "<<endl;
    cin>>sub;
    cout<<"enter the publication : "<<endl;
    cin>>publication;
}

void teacher :: showdata()
{
    cout<<"code            : "<<code<<endl;
    cout<<"name of teacher : "<<name<<endl;
    cout<<"sub of teacher  : "<<sub<<endl;
    cout<<"publication of teacher  : "<<publication<<endl;
}

class officer : public staff
{
    private:
            char grade;
    public:
            void getdata();
            void showdata();
};

void officer :: getdata()
{
    setdata();
    cout<<"enter the grade of officer : A, B, C, D :"<<endl;
    cin>>grade;
}

void officer :: showdata()
{
    cout<<"code             : "<<code<<endl;
    cout<<"name of officer  : "<<name<<endl;
    cout<<"grade of officer : "<<grade<<endl;
}

class typist : public staff
{
    protected:
            int speed;
    public:
            void getdata();
            void showdata();
};

void typist :: showdata()
{
    cout<<"code            : "<<code<<endl;
    cout<<"name of typist  : "<<name<<endl;
    cout<<"speed of typist : "<<speed<<" wps "<<endl;
}

void typist :: getdata()
{
    setdata();
    cout<<"enter the speed of typing in wps "<<endl;
    cin>>speed;
}

class regualar : public typist
{
    public:
    private:
        //    void display();
};


class casual : public typist
{
    private:
            int daily_wages;
    public:
            void set();
            void display();
};

void casual :: set()
{
    getdata();
    cout<<"enter the daily wages of casual typer : "<<endl;
    cin>>daily_wages;
}

void casual :: display ()
{
    showdata();
    cout<<"daily wages of casual typer : "<<daily_wages<<" Rs."<<endl;
}

int main()
{
    staff member;
    int i;
    cout<<"choose any staff member : \n1. Teacher\n2. Officer\n3. Typist "<<endl;
    cin>>i;
    if(i==1)
    {
        teacher mem;
        // mem.setdata();
        mem.getdata();
        mem.showdata();
    }

    if(i==2)
    {
        officer mem;
        // mem.setdata();
        mem.getdata();
        mem.showdata();
    }

    else if(i==3)
    {
        typist mem;
        int t;
        cout<<"choose typer type : \n1. Regular\n2. casual "<<endl;
        cin>>t;
        if(t==1)
        {
            regualar m;
            m.getdata();
            m.showdata();
        }

        else if(t==2)
        {
            casual m;
            m.set();
            m.display();
        }
    }
}

output :

choose any staff member : 1. Teacher 2. Officer 3. Typist 2 enter the code : 342 enetr the name : Rahul enter the grade of officer : A, B, C, D : B code : 342 name of officer : Rahul grade of officer : B


Comments

Popular Post

Create a base class called shape .Use this class to store two double type values that could be used to compute the area of figures, Derive two specific classes called triangle and rectangle from the base shape .Add to the base class, a member function get_data() to initialise base class data members and another member function display_area() to compute and display the area of figures. Make display_area () as a virtual function and redefine this function in the derived class to suit their requirements. Using these three classes, design a program that will accept dimensions of a triangle or a rectangle interactively and display the area. Area of rectangle = x*y Area of triangle = ½*x*y

Define a class to represent a Bank Account. Include the following members: Data Members: i. Name of the depositor ii. Account number iii. Type of account iv. Balance amount in the account Member Functions: 1. To Input initial values 2. To deposit an amount 3. To withdraw an amount after checking the balance 4. To display name and balance Also write constructor for this class that takes four arguments. It should also handle type of account as savings by default