C语言实现企业员工管理系统开发攻略
1. 确定功能需求和数据结构
在开始编写代码之前,需要先确定功能需求和相应的数据结构。对于企业员工管理系统,通常需要包括以下功能:
- 添加员工
- 删除员工
- 修改员工信息
- 查询员工信息
- 显示员工列表
其中,员工的信息通常包括姓名、年龄、性别、职位等。根据这些需求,可以定义如下数据结构:
// 定义 Employee 结构体,表示员工信息
typedef struct Employee{
char name[20]; // 姓名
int age; // 年龄
char gender; // 性别
char position[20]; // 职位
struct Employee *next; // 链表的下一个员工
} Employee;
// 定义全局变量,表示员工列表的头指针
Employee *head = NULL;
2. 实现功能模块
添加员工
添加员工的过程包括输入员工信息和将员工添加到列表中两个步骤。具体代码如下:
void addEmployee() {
Employee *new_employee = (Employee*)malloc(sizeof(Employee));
printf("请输入员工姓名:");
scanf("%s", new_employee->name);
printf("请输入员工年龄:");
scanf("%d", &new_employee->age);
printf("请输入员工性别:");
scanf(" %c", &new_employee->gender);
printf("请输入员工职位:");
scanf("%s", new_employee->position);
new_employee->next = head;
head = new_employee;
printf("添加成功!\n");
}
删除员工
删除员工需要指定员工的姓名。由于员工信息保存在链表中,需要按照以下步骤进行:
- 找到需要删除的员工,同时找到该员工的前一个员工;
- 将前一个员工的指针指向需要删除的员工的下一个员工,即跳过需要删除的员工。
具体代码如下:
void deleteEmployee() {
char name[20];
printf("请输入需要删除的员工姓名:");
scanf("%s", name);
Employee *pre = NULL;
Employee *cur = head;
while(cur != NULL && strcmp(cur->name, name) != 0) {
pre = cur;
cur = cur->next;
}
if(cur == NULL) {
printf("没有找到该员工!\n");
return;
}
if(pre == NULL) {
head = cur->next;
} else {
pre->next = cur->next;
}
free(cur);
printf("删除成功!\n");
}
修改员工信息
修改员工信息同样需要指定员工的姓名。和删除员工类似,需要先找到需要修改的员工,然后修改相关信息。具体代码如下:
void modifyEmployee() {
char name[20];
printf("请输入需要修改的员工姓名:");
scanf("%s", name);
Employee *cur = head;
while(cur != NULL && strcmp(cur->name, name) != 0) {
cur = cur->next;
}
if(cur == NULL) {
printf("没有找到该员工!\n");
return;
}
printf("请输入员工姓名:");
scanf("%s", cur->name);
printf("请输入员工年龄:");
scanf("%d", &cur->age);
printf("请输入员工性别:");
scanf(" %c", &cur->gender);
printf("请输入员工职位:");
scanf("%s", cur->position);
printf("修改成功!\n");
}
查询员工信息
查询员工信息需要指定员工的姓名,查找员工并输出其相关信息即可。代码如下:
void queryEmployee() {
char name[20];
printf("请输入需要查询的员工姓名:");
scanf("%s", name);
Employee *cur = head;
while(cur != NULL && strcmp(cur->name, name) != 0) {
cur = cur->next;
}
if(cur == NULL) {
printf("没有找到该员工!\n");
return;
}
printf("姓名:%s\n", cur->name);
printf("年龄:%d\n", cur->age);
printf("性别:%c\n", cur->gender);
printf("职位:%s\n", cur->position);
}
显示员工列表
显示员工列表需要遍历链表,依次输出每一个员工的信息。代码如下:
void displayList() {
printf("姓名\t年龄\t性别\t职位\n");
Employee *cur = head;
while(cur != NULL) {
printf("%s\t%d\t%c\t%s\n", cur->name, cur->age, cur->gender, cur->position);
cur = cur->next;
}
}
3. 完善程序并测试
将上述五个功能模块组合起来,形成完整的程序。在编写程序时,还需要添加程序界面、数据的存储、输入合法性的验证等功能。
下面给出两个示例:
示例1:添加一个员工并查询
1. 添加员工
2. 删除员工
3. 修改员工信息
4. 查询员工信息
5. 显示员工列表
0. 退出
请选择操作:1
请输入员工姓名:张三
请输入员工年龄:25
请输入员工性别:M
请输入员工职位:工程师
添加成功!
请选择操作:4
请输入需要查询的员工姓名:张三
姓名:张三
年龄:25
性别:M
职位:工程师
请选择操作:0
示例2:添加多个员工并显示员工列表
1. 添加员工
2. 删除员工
3. 修改员工信息
4. 查询员工信息
5. 显示员工列表
0. 退出
请选择操作:1
请输入员工姓名:张三
请输入员工年龄:25
请输入员工性别:M
请输入员工职位:工程师
添加成功!
请选择操作:1
请输入员工姓名:李四
请输入员工年龄:30
请输入员工性别:M
请输入员工职位:项目经理
添加成功!
请选择操作:5
姓名 年龄 性别 职位
李四 30 M 项目经理
张三 25 M 工程师
请选择操作:0
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言实现企业员工管理系统开发 - Python技术站