现在你要用c语言设计一个职工管理系统
时间: 2024-03-10 08:43:21 浏览: 62
好的,一个简单的职工管理系统可以包含以下几个模块:
1. 职工信息存储模块:用来保存职工的信息,包括姓名、工号、职位、工资等。
2. 职工信息查询模块:根据用户输入的工号或姓名等信息,查询职工的基本信息和工资等。
3. 职工信息修改模块:根据用户输入的工号或姓名等信息,修改职工的基本信息和工资等。
4. 职工信息添加模块:用来添加新的职工信息。
5. 职工信息删除模块:根据用户输入的工号或姓名等信息,删除职工的信息。
下面是一个简单的职工管理系统的代码示例,仅供参考:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STAFF 100 // 最大职工数
typedef struct {
char name[20]; // 姓名
int id; // 工号
char position[20]; // 职位
float salary; // 工资
} Staff;
Staff staffs[MAX_STAFF]; // 职工信息数组
int staff_count = 0; // 当前职工数
void add_staff(void); // 添加职工信息
void delete_staff(void); // 删除职工信息
void update_staff(void); // 修改职工信息
void search_staff(void); // 查找职工信息
void list_staff(void); // 列出所有职工信息
int main(void)
{
int choice;
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_staff();
break;
case 2:
delete_staff();
break;
case 3:
update_staff();
break;
case 4:
search_staff();
break;
case 5:
list_staff();
break;
case 6:
printf("感谢使用职工管理系统!\n");
exit(0);
default:
printf("无效的选择,请重新输入!\n");
}
}
return 0;
}
void add_staff(void)
{
if (staff_count >= MAX_STAFF) {
printf("职工数已达上限,无法添加!\n");
return;
}
printf("请输入职工姓名:");
scanf("%s", staffs[staff_count].name);
printf("请输入职工工号:");
scanf("%d", &staffs[staff_count].id);
printf("请输入职工职位:");
scanf("%s", staffs[staff_count].position);
printf("请输入职工工资:");
scanf("%f", &staffs[staff_count].salary);
staff_count++;
printf("职工信息添加成功!\n");
}
void delete_staff(void)
{
int id;
char name[20];
int i, j;
printf("请输入要删除的职工工号或姓名:");
scanf("%s", name);
for (i = 0; i < staff_count; i++) {
if (strcmp(staffs[i].name, name) == 0 || staffs[i].id == atoi(name)) {
printf("确定删除以下职工信息吗?\n");
printf("姓名:%s\n", staffs[i].name);
printf("工号:%d\n", staffs[i].id);
printf("职位:%s\n", staffs[i].position);
printf("工资:%f\n", staffs[i].salary);
printf("确认删除吗?(y/n)");
char confirm;
scanf("%s", &confirm);
if (confirm == 'y') {
for (j = i; j < staff_count - 1; j++) {
staffs[j] = staffs[j + 1];
}
staff_count--;
printf("职工信息删除成功!\n");
} else {
printf("取消删除职工信息!\n");
}
return;
}
}
printf("没有找到符合条件的职工信息!\n");
}
void update_staff(void)
{
int id;
char name[20];
int i;
printf("请输入要修改的职工工号或姓名:");
scanf("%s", name);
for (i = 0; i < staff_count; i++) {
if (strcmp(staffs[i].name, name) == 0 || staffs[i].id == atoi(name)) {
printf("请输入新的职工姓名:");
scanf("%s", staffs[i].name);
printf("请输入新的职工职位:");
scanf("%s", staffs[i].position);
printf("请输入新的职工工资:");
scanf("%f", &staffs[i].salary);
printf("职工信息修改成功!\n");
return;
}
}
printf("没有找到符合条件的职工信息!\n");
}
void search_staff(void)
{
int id;
char name[20];
int i;
printf("请输入要查找的职工工号或姓名:");
scanf("%s", name);
for (i = 0; i < staff_count; i++) {
if (strcmp(staffs[i].name, name) == 0 || staffs[i].id == atoi(name)) {
printf("姓名:%s\n", staffs[i].name);
printf("工号:%d\n", staffs[i].id);
printf("职位:%s\n", staffs[i].position);
printf("工资:%f\n", staffs[i].salary);
return;
}
}
printf("没有找到符合条件的职工信息!\n");
}
void list_staff(void)
{
int i;
printf("所有职工信息如下:\n");
for (i = 0; i < staff_count; i++) {
printf("姓名:%s\t工号:%d\t职位:%s\t工资:%f\n",
staffs[i].name, staffs[i].id, staffs[i].position, staffs[i].salary);
}
}
```
阅读全文