用c++写一个,。假设一个公司员工的正式员工实行终身编号制,第一个正式 的员工编号为1+入职时间,第二个正式员工编号为2+入职时 间。 (例如第一个员工是2023年3月20日入职,那么他的编号自动 生成为120230320,第二个员工也是2023年3月20日入职,那 么他的编号自动生成为:220230320,第三个员工是2023年3 月21日入职,那么他的编号自动生成为:320230321) 。请编写程序设计员工类,其基本属性包括员工工号、姓年龄 。工号按照上述规则自动生成,请设计必要的成员函数完成 改类。
时间: 2023-05-28 21:04:53 浏览: 140
#include <stdio.h>
// 定义员工类
typedef struct Employee {
int id; // 员工工号
char name[20]; // 姓名
int age; // 年龄
} Employee;
// 定义全局变量,记录当前员工数和最后一位员工的入职时间
int total = 0;
int lastDate = 0;
// 生成员工工号的函数
int generateId(int date) {
int id = (++total) * 1000000 + date;
lastDate = date;
return id;
}
// 创建员工的函数
Employee createEmployee(char name[], int age, int date) {
Employee emp;
emp.id = generateId(date);
emp.age = age;
strcpy(emp.name, name);
return emp;
}
int main() {
// 创建三个员工
Employee emp1 = createEmployee("张三", 25, 20230320);
Employee emp2 = createEmployee("李四", 30, 20230320);
Employee emp3 = createEmployee("王五", 28, 20230321);
// 打印员工信息
printf("员工1:工号:%d,姓名:%s,年龄:%d\n", emp1.id, emp1.name, emp1.age);
printf("员工2:工号:%d,姓名:%s,年龄:%d\n", emp2.id, emp2.name, emp2.age);
printf("员工3:工号:%d,姓名:%s,年龄:%d\n", emp3.id, emp3.name, emp3.age);
return 0;
}
阅读全文