公司工作人员主要包括manager、technician、salesman
时间: 2024-01-09 15:05:56 浏览: 32
、customer service representative、administrative assistant等。
Manager负责公司的战略规划、管理和指导工作,是公司的领导人。
Technician是技术人员,负责公司的研发、设计、制造等技术工作。
Salesman是销售人员,负责公司的产品销售和市场拓展。
Customer service representative是客户服务专员,负责处理客户的投诉、问题和需求等。
Administrative assistant是行政助理,负责公司的日常行政工作,如文档处理、会议安排、办公室管理等。
相关问题
编写一个小程序实现小型公司工资管理,该公司有雇员(employee)包括经理(manager)、技术人员(technician)、销售员(salesman)和销售经理(salesmanager)。要求
该程序需要实现以下功能:
1. 添加新员工:可以添加经理、技术人员、销售员和销售经理的信息,包括姓名、工号、职位、基本工资等。
2. 删除员工:可以根据工号删除员工信息。
3. 修改员工信息:可以修改员工的基本信息,包括姓名、职位、基本工资等。
4. 计算员工工资:根据员工的职位和基本工资计算员工的实际工资,包括基本工资、津贴、奖金等。
5. 查询员工信息:可以根据工号或姓名查询员工的基本信息和实际工资。
6. 统计员工工资:可以统计公司所有员工的实际工资总额和平均工资。
7. 导出员工信息:可以将员工信息导出为Excel或CSV格式的文件。
8. 导入员工信息:可以从Excel或CSV格式的文件中导入员工信息。
以上是小型公司工资管理程序的基本功能,可以根据实际需求进行扩展和优化。
编写程序(虚函数和多态):(习题8.7)某公司雇员(employee)包括经理(manager),技术人员(technician)和销售员(salesman)。开发部经理(developermanger),既是经理也是技术人员。销售部经理(salesmanager),既是经理也是销售员。 以employ类为虚基类派生出manager,technician和salesman类;再进一步派生出developermanager和salesmanager类。 employee类的属性包括姓名、职工号、工资级别,月
以下是一个使用虚函数和多态的示例程序:
```c++
#include <iostream>
#include <string>
using namespace std;
// 雇员基类
class Employee {
protected:
string name; // 姓名
string id; // 职工号
int level; // 工资级别
public:
Employee(string n, string i, int l): name(n), id(i), level(l) {}
virtual double pay() = 0; // 纯虚函数,用于计算工资
virtual void print() { // 打印员工信息
cout << "姓名:" << name << ",职工号:" << id << ",工资级别:" << level;
}
};
// 经理类
class Manager : public virtual Employee {
protected:
double salary; // 固定工资
public:
Manager(string n, string i, int l, double s): Employee(n, i, l), salary(s) {}
virtual double pay() { // 计算工资
return salary;
}
virtual void print() { // 打印员工信息
Employee::print();
cout << ",工资:" << pay() << endl;
}
};
// 技术人员类
class Technician : public virtual Employee {
protected:
double wage; // 每小时工资
double hours; // 工作时长
public:
Technician(string n, string i, int l, double w, double h): Employee(n, i, l), wage(w), hours(h) {}
virtual double pay() { // 计算工资
return wage * hours;
}
virtual void print() { // 打印员工信息
Employee::print();
cout << ",工资:" << pay() << endl;
}
};
// 销售员类
class Salesman : public virtual Employee {
protected:
double commission; // 销售佣金
double sales; // 销售额
public:
Salesman(string n, string i, int l, double c, double s): Employee(n, i, l), commission(c), sales(s) {}
virtual double pay() { // 计算工资
return commission * sales;
}
virtual void print() { // 打印员工信息
Employee::print();
cout << ",工资:" << pay() << endl;
}
};
// 开发部经理类
class DeveloperManager : public Manager, public Technician {
public:
DeveloperManager(string n, string i, int l, double s, double w, double h): Employee(n, i, l), Manager(n, i, l, s), Technician(n, i, l, w, h) {}
virtual double pay() { // 计算工资
return Manager::pay() + Technician::pay();
}
virtual void print() { // 打印员工信息
Employee::print();
cout << ",工资:" << pay() << endl;
}
};
// 销售部经理类
class SalesManager : public Manager, public Salesman {
public:
SalesManager(string n, string i, int l, double s, double c, double sa): Employee(n, i, l), Manager(n, i, l, s), Salesman(n, i, l, c, sa) {}
virtual double pay() { // 计算工资
return Manager::pay() + Salesman::pay();
}
virtual void print() { // 打印员工信息
Employee::print();
cout << ",工资:" << pay() << endl;
}
};
int main() {
Employee *e1 = new Manager("张三", "001", 1, 5000);
Employee *e2 = new Technician("李四", "002", 2, 50, 160);
Employee *e3 = new Salesman("王五", "003", 3, 0.1, 100000);
Employee *e4 = new DeveloperManager("赵六", "004", 4, 8000, 60, 200);
Employee *e5 = new SalesManager("钱七", "005", 5, 10000, 0.05, 500000);
e1->print();
e2->print();
e3->print();
e4->print();
e5->print();
delete e1;
delete e2;
delete e3;
delete e4;
delete e5;
return 0;
}
```
在这个程序中,我们定义了一个雇员基类 `Employee`,包含雇员的姓名、职工号和工资级别,并定义了一个纯虚函数 `pay()`,用于计算员工的工资。然后我们派生出了三个类:经理 `Manager`、技术人员 `Technician` 和销售员 `Salesman`,分别实现了自己的工资计算方法,并重写了基类的 `print()` 函数,用于打印员工的信息。
由于开发部经理和销售部经理都既是经理又是技术人员或销售员,因此我们使用了虚基类继承的方式,派生出了 `DeveloperManager` 和 `SalesManager` 两个类。这两个类分别继承了经理和技术人员或销售员的属性和方法,并重写了 `pay()` 和 `print()` 函数。
在 `main()` 函数中,我们创建了五个不同的员工,并用基类的指针指向它们,然后依次调用它们的 `print()` 函数,实现了多态性。最后别忘了释放内存。