用c++语言写员工基本档案管理类 员工基本档案包括员工的姓名、性别、出生日期、身份证号码、联系方式、学历、职称等基本信息。这些信息需要进行录入、修改、查询、删除等操作。
时间: 2023-11-08 18:55:59 浏览: 43
以下是一个简单的员工基本档案管理类的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义员工结构体
typedef struct {
char name[50];
char gender[10];
char birthdate[20];
char id_number[20];
char contact[20];
char education[20];
char job_title[20];
} Employee;
// 定义员工基本档案管理类
typedef struct {
Employee *employees; // 员工数组
int count; // 员工数量
} EmployeeManager;
// 初始化员工基本档案管理类
EmployeeManager *init_employee_manager() {
EmployeeManager *manager = (EmployeeManager *) malloc(sizeof(EmployeeManager));
manager->employees = NULL;
manager->count = 0;
return manager;
}
// 释放员工基本档案管理类
void free_employee_manager(EmployeeManager *manager) {
free(manager->employees);
free(manager);
}
// 添加员工
void add_employee(EmployeeManager *manager, Employee employee) {
manager->count++;
manager->employees = (Employee *) realloc(manager->employees, manager->count * sizeof(Employee));
manager->employees[manager->count - 1] = employee;
}
// 根据姓名查询员工
void search_employee_by_name(EmployeeManager *manager, char *name) {
int i;
for (i = 0; i < manager->count; i++) {
if (strcmp(manager->employees[i].name, name) == 0) {
printf("员工信息:\n");
printf("姓名:%s\n", manager->employees[i].name);
printf("性别:%s\n", manager->employees[i].gender);
printf("出生日期:%s\n", manager->employees[i].birthdate);
printf("身份证号码:%s\n", manager->employees[i].id_number);
printf("联系方式:%s\n", manager->employees[i].contact);
printf("学历:%s\n", manager->employees[i].education);
printf("职称:%s\n", manager->employees[i].job_title);
return;
}
}
printf("未找到姓名为%s的员工\n", name);
}
// 根据姓名删除员工
void delete_employee_by_name(EmployeeManager *manager, char *name) {
int i, j;
for (i = 0; i < manager->count; i++) {
if (strcmp(manager->employees[i].name, name) == 0) {
for (j = i; j < manager->count - 1; j++) {
manager->employees[j] = manager->employees[j + 1];
}
manager->count--;
manager->employees = (Employee *) realloc(manager->employees, manager->count * sizeof(Employee));
printf("已删除姓名为%s的员工\n", name);
return;
}
}
printf("未找到姓名为%s的员工\n", name);
}
int main() {
EmployeeManager *manager = init_employee_manager();
// 添加员工
Employee employee1 = {"张三", "男", "1990-01-01", "123456789012345678", "13812345678", "本科", "高级工程师"};
add_employee(manager, employee1);
Employee employee2 = {"李四", "女", "1995-02-02", "234567890123456789", "15887654321", "硕士", "研发经理"};
add_employee(manager, employee2);
// 查询员工
search_employee_by_name(manager, "张三");
search_employee_by_name(manager, "王五");
// 删除员工
delete_employee_by_name(manager, "李四");
delete_employee_by_name(manager, "王五");
free_employee_manager(manager);
return 0;
}
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![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)