#include #include #include using namespace std; class person { public: string fname, lname; double salary; string dept; person(string f, string l, double s, string d) { fname = f; lname = l; salary = s; dept = d; }; void print() { cout << fname << " " << lname << " of " << dept << ", $" << salary << "\n"; } }; vector employees; void add_employee(person * p) { employees.push_back(p); } void list_employees() { for (int i = 0; i < employees.size(); i += 1) employees[i]->print(); } person * find_employee(string name) { for (int i = 0; i < employees.size(); i += 1) if (employees[i]->fname == name || employees[i]->lname == name) return employees[i]; return NULL; } int main() { add_employee(new person("Mary", "Marlowe", 123456.00, "Management")); add_employee(new person("Dennis", "Dog", 54321.50, "Design")); add_employee(new person("Eric", "Earwig", 34567.75, "Engineering")); add_employee(new person("Tammy", "Teapot", 23500.00, "Tetrahedrons")); add_employee(new person("Francine", "Frogge", 168742.50, "Management")); add_employee(new person("Geoffrey", "Georaffe", 21005.99, "Geography")); add_employee(new person("Lolita", "Lambchop", 25300.00, "Lighting")); add_employee(new person("Indiana", "Impediment", 1500.00, "Intern")); add_employee(new person("Germania", "Gastropod", 47299.99, "Geography")); add_employee(new person("Olivia", "Ointment", 25000000.00, "Owner")); string cmd; while (true) { cout << "> "; cin >> cmd; if (cmd == "list") list_employees(); else if (cmd == "find") { string n; cin >> n; person * e = find_employee(n); e->print(); } else if (cmd == "raise") { string n; cin >> n; double pct; cin >> pct; person * e = find_employee(n); e->salary *= 1.0 + pct / 100.0; } else if (cmd == "exit") break; else cout << "command '" << cmd << "' not recognised\n"; } }