人事管理系统是一种常见的管理信息系统,用于管理企业或组织的人事信息。下面是一个简单的C语言人事管理系统的实现,包括员工信息的增加、删除、修改、查询等基本功能。
#include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_EMPLOYEE_NUM 100 typedef struct { char name[20]; char gender[5]; int age; char department[20]; char position[20]; } Employee; // 员工结构体 Employee employeeList[MAX_EMPLOYEE_NUM]; // 员工列表 int employeeNum = 0; // 员工数量 // 显示菜单 void showMenu() { printf("\n欢迎使用人事管理系统\n"); printf("1. 添加员工信息\n"); printf("2. 删除员工信息\n"); printf("3. 修改员工信息\n"); printf("4. 查询员工信息\n"); printf("5. 显示所有员工信息\n"); printf("0. 退出系统\n"); printf("请输入选项:"); } // 添加员工信息 void addEmployee() { if (employeeNum >= MAX_EMPLOYEE_NUM) { printf("员工数量已达上限,无法添加\n"); return; } printf("请输入员工姓名:"); scanf("%s", employeeList[employeeNum].name); printf("请输入员工性别:"); scanf("%s", employeeList[employeeNum].gender); printf("请输入员工年龄:"); scanf("%d", &employeeList[employeeNum].age); printf("请输入员工所属部门:"); scanf("%s", employeeList[employeeNum].department); printf("请输入员工职位:"); scanf("%s", employeeList[employeeNum].position); employeeNum++; printf("员工信息添加成功\n"); } // 删除员工信息 void deleteEmployee() { char name[20]; printf("请输入要删除的员工姓名:"); scanf("%s", name); int index = -1; for (int i = 0; i < employeeNum; i++) { if (strcmp(employeeList[i].name, name) == 0) { index = i; break; } } if (index == -1) { printf("员工 %s 不存在\n", name); return; } for (int i = index; i < employeeNum - 1; i++) { employeeList[i] = employeeList[i + 1]; } employeeNum--; printf("员工信息删除成功\n"); } // 修改员工信息 void modifyEmployee() { char name[20]; printf("请输入要修改的员工姓名:"); scanf("%s", name); int index = -1; for (int i = 0; i < employeeNum; i++) { if (strcmp(employeeList[i].name, name) == 0) { index = i; break; } } if (index == -1) { printf("员工 %s 不存在\n", name); return; } printf("请输入员工性别(原值为 %s):", employeeList[index].gender); scanf("%s", employeeList[index].gender); printf("请输入员工年龄(原值为 %d):", employeeList[index].age); scanf("%d", &employeeList[index].age); printf("请输入员工所属部门(原值为 %s):", employeeList[index].department); scanf("%s", employeeList[index].department); printf("请输入员工职位(原值为 %s):", employeeList[index].position); scanf("%s", employeeList[index].position); printf("员工信息修改成功\n"); } // 查询员工信息 void queryEmployee() { char name[20]; printf("请输入要查询的员工姓名:"); scanf("%s", name); int index = -1; for (int i = 0; i < employeeNum; i++) { if (strcmp(employeeList[i].name, name) == 0) { index = i; break; } } if (index == -1) { printf("员工 %s 不存在\n", name); return; } printf("姓名:%s,性别:%s,年龄:%d,部门:%s,职位:%s\n", employeeList[index].name, employeeList[index].gender, employeeList[index].age, employeeList[index].department, employeeList[index].position); } // 显示所有员工信息 void showAllEmployee() { if (employeeNum == 0) { printf("没有员工信息\n"); return; } printf("所有员工信息如下:\n"); for (int i = 0; i < employeeNum; i++) { printf("姓名:%s,性别:%s,年龄:%d,部门:%s,职位:%s\n", employeeList[i].name, employeeList[i].gender, employeeList[i].age, employeeList[i].department, employeeList[i].position); } } int main() { int choice; while (1) { showMenu(); scanf("%d", &choice); switch (choice) { case 1: addEmployee(); break; case 2: deleteEmployee(); break; case 3: modifyEmployee(); break; case 4: queryEmployee(); break; case 5: showAllEmployee(); break; case 0: printf("谢谢使用,再见!\n"); return 0; default: printf("无效的选项,请重新输入\n"); break; } } return 0; }
以上就是一个简单的C语言人事管理系统的实现,可以根据实际需求进行扩展和修改。
评论