综合实验c语言员工管理系统
时间: 2023-10-20 15:07:45 浏览: 39
好的,员工管理系统是一个常见的实战项目,下面给出一个简单的综合实验c语言员工管理系统的示例。
该员工管理系统主要包括以下功能:
1. 添加员工信息
2. 删除员工信息
3. 修改员工信息
4. 查询员工信息
5. 显示所有员工信息
6. 退出程序
在开始编写程序前,需要确定员工信息的数据结构。在本示例中,我们使用一个结构体来存储员工的信息,包括员工编号、姓名、性别、年龄、职位、工资等信息。
定义员工信息结构体如下:
```
struct Employee {
int id;
char name[20];
char sex[5];
int age;
char position[20];
float salary;
};
```
接下来,我们可以定义一个数组来存储所有员工的信息,示例中假设最多可以存储100个员工的信息,因此定义数组大小为100。
```
struct Employee employees[100];
```
接着,我们可以编写各个功能的代码。下面分别介绍每个功能的实现方法。
1. 添加员工信息
添加员工信息需要用户输入员工的各项信息,然后将其存储到数组中。示例代码如下:
```
void addEmployee() {
int id;
char name[20];
char sex[5];
int age;
char position[20];
float salary;
printf("请输入员工编号:");
scanf("%d", &id);
// 判断员工编号是否已存在
for (int i = 0; i < 100; i++) {
if (employees[i].id == id) {
printf("员工编号已存在,请重新输入!\n");
return;
}
}
printf("请输入员工姓名:");
scanf("%s", name);
printf("请输入员工性别:");
scanf("%s", sex);
printf("请输入员工年龄:");
scanf("%d", &age);
printf("请输入员工职位:");
scanf("%s", position);
printf("请输入员工工资:");
scanf("%f", &salary);
// 将员工信息存储到数组中
for (int i = 0; i < 100; i++) {
if (employees[i].id == 0) {
employees[i].id = id;
strcpy(employees[i].name, name);
strcpy(employees[i].sex, sex);
employees[i].age = age;
strcpy(employees[i].position, position);
employees[i].salary = salary;
printf("添加成功!\n");
return;
}
}
printf("员工信息已达上限,无法添加!\n");
}
```
2. 删除员工信息
删除员工信息需要用户输入要删除的员工编号,然后将该员工信息从数组中删除。示例代码如下:
```
void deleteEmployee() {
int id;
printf("请输入要删除的员工编号:");
scanf("%d", &id);
// 查找要删除的员工信息
for (int i = 0; i < 100; i++) {
if (employees[i].id == id) {
// 将该员工信息从数组中删除
employees[i].id = 0;
strcpy(employees[i].name, "");
strcpy(employees[i].sex, "");
employees[i].age = 0;
strcpy(employees[i].position, "");
employees[i].salary = 0.0;
printf("删除成功!\n");
return;
}
}
printf("该员工不存在!\n");
}
```
3. 修改员工信息
修改员工信息需要用户输入要修改的员工编号,然后修改该员工的各项信息。示例代码如下:
```
void modifyEmployee() {
int id;
printf("请输入要修改的员工编号:");
scanf("%d", &id);
// 查找要修改的员工信息
for (int i = 0; i < 100; i++) {
if (employees[i].id == id) {
char name[20];
char sex[5];
int age;
char position[20];
float salary;
printf("请输入员工姓名:");
scanf("%s", name);
strcpy(employees[i].name, name);
printf("请输入员工性别:");
scanf("%s", sex);
strcpy(employees[i].sex, sex);
printf("请输入员工年龄:");
scanf("%d", &age);
employees[i].age = age;
printf("请输入员工职位:");
scanf("%s", position);
strcpy(employees[i].position, position);
printf("请输入员工工资:");
scanf("%f", &salary);
employees[i].salary = salary;
printf("修改成功!\n");
return;
}
}
printf("该员工不存在!\n");
}
```
4. 查询员工信息
查询员工信息需要用户输入要查询的员工编号,然后输出该员工的各项信息。示例代码如下:
```
void queryEmployee() {
int id;
printf("请输入要查询的员工编号:");
scanf("%d", &id);
// 查找要查询的员工信息
for (int i = 0; i < 100; i++) {
if (employees[i].id == id) {
printf("员工编号:%d\n", employees[i].id);
printf("员工姓名:%s\n", employees[i].name);
printf("员工性别:%s\n", employees[i].sex);
printf("员工年龄:%d\n", employees[i].age);
printf("员工职位:%s\n", employees[i].position);
printf("员工工资:%f\n", employees[i].salary);
return;
}
}
printf("该员工不存在!\n");
}
```
5. 显示所有员工信息
显示所有员工信息需要遍历数组,输出所有员工的各项信息。示例代码如下:
```
void showAllEmployees() {
printf("员工编号\t员工姓名\t员工性别\t员工年龄\t员工职位\t员工工资\n");
for (int i = 0; i < 100; i++) {
if (employees[i].id != 0) {
printf("%d\t\t%s\t\t%s\t\t%d\t\t%s\t\t%f\n", employees[i].id, employees[i].name, employees[i].sex, employees[i].age, employees[i].position, employees[i].salary);
}
}
}
```
6. 退出程序
退出程序需要使用break语句跳出循环,示例代码如下:
```
void exitProgram() {
printf("程序已退出!\n");
exit(0);
}
```
最后,我们需要在主函数中实现一个简单的菜单界面,让用户选择不同的功能。示例代码如下:
```
int main() {
while (1) {
printf("========员工管理系统========\n");
printf("1、添加员工信息\n");
printf("2、删除员工信息\n");
printf("3、修改员工信息\n");
printf("4、查询员工信息\n");
printf("5、显示所有员工信息\n");
printf("6、退出程序\n");
printf("请输入要执行的操作:");
int choice;
scanf("%d", &choice);
switch (choice) {
case 1:
addEmployee();
break;
case 2:
deleteEmployee();
break;
case 3:
modifyEmployee();
break;
case 4:
queryEmployee();
break;
case 5:
showAllEmployees();
break;
case 6:
exitProgram();
break;
default:
printf("输入错误,请重新输入!\n");
break;
}
}
return 0;
}
```
到这里,综合实验c语言员工管理系统的示例已经完成。该程序还可以根据实际需求进行优化和扩展,例如可以添加文件读写功能,将员工信息保存到文件中,以便下次运行程序时直接读取。