用c++写一个,。假设一个公司员工的正式员工实行终身编号制,第一个正式 的员工编号为1+入职时间,第二个正式员工编号为2+入职时 间。 (例如第一个员工是2023年3月20日入职,那么他的编号自动 生成为120230320,第二个员工也是2023年3月20日入职,那 么他的编号自动生成为:220230320,第三个员工是2023年3 月21日入职,那么他的编号自动生成为:320230321) 。请编写程序设计员工类,其基本属性包括员工工号、姓年龄 。工号按照上述规则自动生成,请设计必要的成员函数完成 改类。 641871450@qq.com ·3月25日(周六)晚10:00前发送。
时间: 2023-05-30 18:02:30 浏览: 53
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义员工类
typedef struct Employee {
char id[10]; // 员工工号
char name[20]; // 姓名
int age; // 年龄
} Employee;
// 定义全局变量,用于生成员工工号
int lastDay = 0; // 上一个员工入职的日期
int lastNum = 0; // 上一个员工的编号
// 生成员工工号
void generateId(Employee* emp, int year, int month, int day) {
// 生成日期部分
char date[7];
sprintf(date, "%02d%02d%02d", year % 100, month, day);
// 生成编号部分
char num[4];
if (lastDay == day) {
lastNum++;
} else {
lastDay = day;
lastNum = 1;
}
sprintf(num, "%03d", lastNum);
// 生成工号
sprintf(emp->id, "%d%s%s", emp->age, date, num);
}
// 初始化员工
void initEmployee(Employee* emp, char* name, int age, int year, int month, int day) {
strcpy(emp->name, name);
emp->age = age;
generateId(emp, year, month, day);
}
// 打印员工信息
void printEmployee(Employee* emp) {
printf("工号:%s,姓名:%s,年龄:%d\n", emp->id, emp->name, emp->age);
}
int main() {
Employee emp1, emp2, emp3;
initEmployee(&emp1, "张三", 25, 2023, 3, 20);
initEmployee(&emp2, "李四", 30, 2023, 3, 20);
initEmployee(&emp3, "王五", 28, 2023, 3, 21);
printEmployee(&emp1);
printEmployee(&emp2);
printEmployee(&emp3);
return 0;
}
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)