用C语言写员工信息管理系统,包含统计功能
时间: 2023-07-18 09:06:28 浏览: 42
好的,那么这个员工信息管理系统可以包含以下功能:
1. 添加员工信息:包括员工姓名、性别、年龄、联系电话、职位等信息。
2. 修改员工信息:可以修改员工的个人信息,如联系电话、职位等。
3. 删除员工信息:可以删除指定员工的信息。
4. 查询员工信息:可以根据员工的姓名、职位等信息进行查询。
5. 统计员工信息:可以统计员工的总数、男女比例、不同职位员工的数量等信息。
下面是使用C语言实现这个员工信息管理系统的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_EMPLOYEE_NUM 100
// 员工结构体
typedef struct {
char name[20]; // 姓名
char gender; // 性别
int age; // 年龄
char phone[20]; // 联系电话
char title[20]; // 职位
} Employee;
// 员工数组
Employee employees[MAX_EMPLOYEE_NUM];
int employee_num = 0;
// 添加员工信息
void add_employee() {
if (employee_num >= MAX_EMPLOYEE_NUM) {
printf("员工信息已满,无法添加新员工!\n");
return;
}
printf("请输入员工姓名:");
scanf("%s", employees[employee_num].name);
printf("请输入员工性别(M/F):");
scanf(" %c", &employees[employee_num].gender);
printf("请输入员工年龄:");
scanf("%d", &employees[employee_num].age);
printf("请输入员工联系电话:");
scanf("%s", employees[employee_num].phone);
printf("请输入员工职位:");
scanf("%s", employees[employee_num].title);
employee_num++;
printf("员工信息添加成功!\n");
}
// 修改员工信息
void modify_employee() {
char name[20];
printf("请输入要修改信息的员工姓名:");
scanf("%s", name);
int i = 0;
for (; i < employee_num; i++) {
if (strcmp(employees[i].name, name) == 0) {
printf("请输入新的员工联系电话:");
scanf("%s", employees[i].phone);
printf("请输入新的员工职位:");
scanf("%s", employees[i].title);
printf("员工信息修改成功!\n");
return;
}
}
printf("没有找到指定员工信息,修改失败!\n");
}
// 删除员工信息
void delete_employee() {
char name[20];
printf("请输入要删除的员工姓名:");
scanf("%s", name);
int i = 0;
for (; i < employee_num; i++) {
if (strcmp(employees[i].name, name) == 0) {
// 将后面的员工信息往前移动
for (; i < employee_num - 1; i++) {
strcpy(employees[i].name, employees[i+1].name);
employees[i].gender = employees[i+1].gender;
employees[i].age = employees[i+1].age;
strcpy(employees[i].phone, employees[i+1].phone);
strcpy(employees[i].title, employees[i+1].title);
}
employee_num--;
printf("员工信息删除成功!\n");
return;
}
}
printf("没有找到指定员工信息,删除失败!\n");
}
// 查询员工信息
void search_employee() {
char name[20];
printf("请输入要查询的员工姓名:");
scanf("%s", name);
int i = 0;
for (; i < employee_num; i++) {
if (strcmp(employees[i].name, name) == 0) {
printf("姓名:%s,性别:%c,年龄:%d,联系电话:%s,职位:%s\n",
employees[i].name, employees[i].gender, employees[i].age,
employees[i].phone, employees[i].title);
return;
}
}
printf("没有找到指定员工信息,查询失败!\n");
}
// 统计员工信息
void count_employee() {
int male_num = 0, female_num = 0, manager_num = 0, staff_num = 0;
int i = 0;
for (; i < employee_num; i++) {
if (employees[i].gender == 'M') {
male_num++;
} else if (employees[i].gender == 'F') {
female_num++;
}
if (strcmp(employees[i].title, "经理") == 0) {
manager_num++;
} else if (strcmp(employees[i].title, "员工") == 0) {
staff_num++;
}
}
printf("员工总数:%d,男性员工数:%d,女性员工数:%d,经理数:%d,员工数:%d\n",
employee_num, male_num, female_num, manager_num, staff_num);
}
int main() {
int choice = 0;
while (1) {
printf("\n");
printf("1. 添加员工信息\n");
printf("2. 修改员工信息\n");
printf("3. 删除员工信息\n");
printf("4. 查询员工信息\n");
printf("5. 统计员工信息\n");
printf("6. 退出程序\n");
printf("请输入要进行的操作序号:");
scanf("%d", &choice);
switch (choice) {
case 1:
add_employee();
break;
case 2:
modify_employee();
break;
case 3:
delete_employee();
break;
case 4:
search_employee();
break;
case 5:
count_employee();
break;
case 6:
printf("程序已退出!\n");
return 0;
default:
printf("输入有误,请重新输入!\n");
break;
}
}
}
```
以上代码是一个简单的员工信息管理系统,可以实现添加、修改、删除、查询和统计员工信息的功能。