雇员 employee示例,对需求进行数据建模。\n\n需求:公司中有程序员和项目经理,其中:\n\n程序员(programmer)有姓名(name),工号(worknumber),薪水(salary),工作
时间: 2023-04-25 07:01:45 浏览: 135
经验(experience),编程语言(language)等属性。\n\n项目经理(project manager)有姓名(name),工号(worknumber),薪水(salary),管理项目(project)等属性。\n\n数据建模如下:\n\n雇员(employee):姓名(name),工号(worknumber),薪水(salary)\n\n程序员(programmer):工作经验(experience),编程语言(language)\n\n项目经理(project manager):管理项目(project)\n\n其中,程序员和项目经理都是雇员的一种,所以它们都继承了雇员的属性。同时,程序员还有自己的特有属性:工作经验和编程语言;项目经理也有自己的特有属性:管理项目。这样建模可以更好地描述公司中不同类型雇员的属性和关系。
相关问题
要为某个公司编写雇员( n个雇员)支付月工资,这个公司有各种类型的雇员(Employee),不同类型的雇员按不同的方式支付工资:
1. 全职员工(FullTimeEmployee)按月发放固定工资;
2. 兼职员工(PartTimeEmployee)按小时计算工资;
3. 销售员(SalesEmployee)除了固定工资还有销售提成;
4. 经理(Manager)除了固定工资还有管理津贴。
需要编写一个函数,输入一个雇员列表和当前月份,输出该月份公司需要支付的总工资。函数的伪代码如下:
```
function calculateTotalSalary(employeeList, currentMonth) {
totalSalary = 0
for each employee in employeeList:
if employee is FullTimeEmployee:
totalSalary += employee.getFixedSalary()
else if employee is PartTimeEmployee:
totalSalary += employee.getHoursWorked() * employee.getHourlyRate()
else if employee is SalesEmployee:
totalSalary += employee.getFixedSalary() + employee.getSalesCommission(currentMonth)
else if employee is Manager:
totalSalary += employee.getFixedSalary() + employee.getManagementAllowance()
return totalSalary
}
```
用c语言输出一个正整数n,在输入n个雇员的信息,输出每人的姓名和实发工资
以下是使用 C 语言实现的程序,可以实现输入 n 个员工信息,输出他们的姓名和实发工资:
```c
#include <stdio.h>
#include <stdlib.h>
struct Employee {
char name[20];
float salary;
};
int main() {
int n, i;
struct Employee *employees;
printf("请输入员工人数:");
scanf("%d", &n);
employees = (struct Employee *) malloc(n * sizeof(struct Employee));
for (i = 0; i < n; i++) {
printf("请输入第 %d 个员工的姓名和工资:", i+1);
scanf("%s %f", employees[i].name, &(employees[i].salary));
}
printf("输出结果:\n");
for (i = 0; i < n; i++) {
printf("第 %d 个员工的姓名是:%s,实发工资是:%.2f\n", i+1, employees[i].name, employees[i].salary);
}
free(employees);
return 0;
}
```
运行结果示例如下:
```
请输入员工人数:3
请输入第 1 个员工的姓名和工资:Tom 5000
请输入第 2 个员工的姓名和工资:Jerry 6000
请输入第 3 个员工的姓名和工资:Bob 7000
输出结果:
第 1 个员工的姓名是:Tom,实发工资是:5000.00
第 2 个员工的姓名是:Jerry,实发工资是:6000.00
第 3 个员工的姓名是:Bob,实发工资是:7000.00
```