雇员 employee示例,对需求进行数据建模。\n\n需求:公司中有程序员和项目经理,其中:\n\n程序员(programmer)有姓名(name),工号(worknumber),薪水(salary),工作 
时间: 2023-04-25 12:01:45 浏览: 48
经验(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其中,程序员和项目经理都是雇员的一种,所以它们都继承了雇员的属性。同时,程序员还有自己的特有属性:工作经验和编程语言;项目经理也有自己的特有属性:管理项目。这样建模可以更好地描述公司中不同类型雇员的属性和关系。
相关问题
用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
```
某公司的雇员分为以下若干类:\n(1) employee:这是所有员工总的父类。\n① 属性:员工的姓名,员工的生日月份\n② 方法:getsalary(int month) 根据参数月份来确定工资,如果该
### 回答1:
员工是在该月份生日,则工资增加100元。
(2) Manager:继承自 Employee,表示经理。
① 属性:员工管辖的团队人数。
② 方法:getsalary(int month) 经理的工资是普通员工工资的1.5倍,加上团队人数乘以50元的奖金。
(3) Sales:继承自 Employee,表示销售员。
① 属性:销售额。
② 方法:getsalary(int month) 销售员的工资是普通员工工资的1.2倍,加上销售额的10%作为奖金。
### 回答2:
所属月份与员工生日月份相同,则加倍发放,否则按正常工资发放。
(2) fullTimeEmployee:全职员工,继承自employee类。主要是描述全职员工的属性和方法。
① 属性:每月基本工资
② 方法:getsalary(int month) 根据参数月份计算全职员工的工资。
(3) partTimeEmployee:兼职员工,继承自employee类。主要是描述兼职员工的属性和方法。
① 属性:每小时工资,兼职工作时长
② 方法:getsalary(int month) 根据参数月份和兼职工作时长计算兼职员工的工资。
(4) salesEmployee:销售人员,继承自fullTimeEmployee类。主要是描述销售人员的属性和方法。
① 属性:每月基本工资,销售业绩提成比例
② 方法:getsalary(int month) 根据参数月份和销售业绩计算销售人员的工资,包括基本工资和销售提成。
(5) manager:经理,继承自fullTimeEmployee类。主要是描述经理的属性和方法。
① 属性:每月基本工资,部门下属人数
② 方法:getsalary(int month) 根据参数月份和部门下属人数计算经理的工资,包括基本工资和管理津贴。
以上是某公司的雇员分类和他们的属性和方法。不同类型的员工有不同的工资计算方法,这主要是由于其工作性质的不同,如全职、兼职、销售人员和经理等。通过这种分类的方式,公司可以更好地管理和计算员工的工资,发挥其潜力,提高生产效率,从而使整个公司更加成功和有竞争力。
### 回答3:
月份是员工的生日月份,则该月工资增加500元。\n(2) Manager:这是employee的子类,表示经理。\n① 属性:经理的奖金。\n② 方法:getsalary(int month) 根据参数月份来确定工资,除了直接调用父类的方法外,若该月有奖金,则工资会在父类的基础上增加该月的奖金。\n(3) Engineer:这是employee的子类,表示工程师。\n① 属性:每小时工资,每月工作小时数。\n② 方法:getsalary(int month) 根据参数月份来确定工资,除了直接调用父类的方法外,会根据每小时工资和每月工作小时数来计算出工资。\n(4) Salesman:这是employee的子类,表示销售员。\n① 属性:底薪,销售额。\n② 方法:getsalary(int month) 根据参数月份来确定工资,除了直接调用父类的方法外,会根据底薪和销售额来计算出工资。如果销售额超过一定值,则还会有奖金。\n以上是某公司的雇员分类情况,这种分类方法可以更好地管理雇员,使得工资的计算方法更加灵活多样化。同时,也可以根据雇员的不同属性和方法,更好地评价和激励员工,使得员工有更多的动力和积极性。在实际应用中,企业可以根据自己的需求和情况,进行相应的分类和设置,以达到更好的管理效果。