人事管理系统的C语言演示可以分为以下几个部分:
1. 系统初始化
2. 员工信息管理
3. 考勤管理
4. 工资计算
5. 报表生成
6. 系统退出
下面是一个简单的C语言实现的人事管理系统示例代码:
```c
#include
#include
#include
typedef struct {
char name[20];
int id;
float salary;
} Employee;
typedef struct {
int employee_count;
Employee employees[100];
} HRSystem;
void initialize_system(HRSystem *hrs) {
hrs->employee_count = 0;
for (int i = 0; i < 100; i++) {
strcpy(hrs->employees[i].name, "");
hrs->employees[i].id = 0;
hrs->employees[i].salary = 0.0;
}
}
void add_employee(HRSystem *hrs, char *name, int id, float salary) {
strcpy(hrs->employees[hrs->employee_count].name, name);
hrs->employees[hrs->employee_count].id = id;
hrs->employees[hrs->employee_count].salary = salary;
hrs->employee_count++;
}
void delete_employee(HRSystem *hrs, int id) {
for (int i = 0; i < hrs->employee_count; i++) {
if (hrs->employees[i].id == id) {
- for (int j = i; j < hrs->employee_count
- 1; j++) {
strcpy(hrs->employees[j + 1].name, hrs->employees[j].name);
hrs->employees[j + 1].id = hrs->employees[j].id;
hrs->employees[j + 1].salary = hrs->employees[j].salary;
}
hrs->employee_count--;
return;
}
}
printf("No employee with ID %d found.n", id);
}
void update_employee(HRSystem *hrs, int id, char *name, float salary) {
for (int i = 0; i < hrs->employee_count; i++) {
if (hrs->employees[i].id == id) {
strcpy(hrs->employees[i].name, name);
hrs->employees[i].salary = salary;
return;
}
}
printf("No employee with ID %d found.n", id);
}
void display_employees(HRSystem *hrs) {
for (int i = 0; i < hrs->employee_count; i++) {
printf("ID: %d, Name: %s, Salary: %.2fn", hrs->employees[i].id, hrs->employees[i].name, hrs->employees[i].salary);
}
}
int main() {
HRSystem hrs;
initialize_system(&hrs);
add_employee(&hrs, "张三", 1, 5000.0);
add_employee(&hrs, "李四", 2, 6000.0);
add_employee(&hrs, "王五", 3, 7000.0);
display_employees(&hrs);
update_employee(&hrs, 1, "张三", 5500.0);
display_employees(&hrs);
delete_employee(&hrs, 2);
display_employees(&hrs);
return 0;
}
```
这个示例代码实现了一个简单的人事管理系统,包括员工信息的添加、删除、更新和显示功能。你可以根据需要扩展这个系统,例如增加请假、加班、出差等操作。