Answer to Question #201734 in C++ for Smruti Ranjan Behe

Question #201734

This program models a database of employees of a company. There are three kinds of


employees in the company: manager, scientist and laborers. The database stores a


name and an employee identification number of all employees, no matter what their


category. However, for manager, it also stores their title and golf club dues. For


scientists, it stores the number of articles they have published. Laborers need no


additional data beyond their names and numbers. All information to be obtained through


a member function getdata(). Information about each employee are to displayed


through a constant member function putdata(). Define appropriate classes, member


functions. Create an array of objects of each employee type (manager, scientist and


laborers separately). Your program should able to read information about each


employee type and display the same.


1
Expert's answer
2021-06-02T03:01:25-0400
#include <iostream>

using namespace std;

struct LabourerData {
    string name;
    int id;
};

class Labourer {
private:
    string name;
    int id;
public:
    Labourer(string name, int id) {
        this->name = name;
        this->id = id;
    }
    void put_data() {
        cout << "{name: " << this->name << ", id: " << this->id << "}" << endl;
    }
    auto get_data() {
        return {name, id};
    }
};

struct ScientistData {
    string name;
    int id;
    int annotations;
};

class Scientist {
private:
    string name;
    int id;
    int annotations;
public:
    Scientist(string name, int id, int annotations) {
        this->name = name;
        this->id = id;
        this->annotations = annotations;
    }
    void put_data() {
        cout << "{name: " << this->name << ", id: " << this->id << ", annotations: " << this->annotations << "}" << endl;
    }
    auto get_data() {
        return {name, id, annotations};
    }
};

struct ManagerData {
    string name;
    int id;
    string title;
    double due;
};

class Manager {
private:
    string name;
    int id;
    string title;
    double due;
public:
    Manager(string name, int id, string title, double due) {
        this->name = name;
        this->id = id;
        this->title = title;
        this->due = due;
    }
    void put_data() {
        cout << "{name: " << this->name << ", id: " << this->id << ", title: " << this->title << ", due: " << this->due << "}" << endl;
    }
    auto get_data() {
        return {name, id, title, due};
    }
};

int main() {
    
    Labourer *l = new Labourer("John", 34);
    l->put_data();
    
    Scientist *s = new Scientist("Bob", 34, 435);
    s->put_data();
    
    Manager *m = new Manager("Monky", 3345, "Horse", 435.34);
    m->put_data();
    
    return 0;
}

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
New on Blog