下面是一个简单的C语言职工信息管理系统的实现。这个系统基于结构体数组来存储职工数据,并使用函数来实现各种功能。请注意,为了简化,这个程序不包含动态内存分配、错误处理或持久化存储(如文件操作)。它仅用于演示目的。 ```c #include #include #include #define MAX_EMPLOYEES 100 #define MAX_NAME_LENGTH 50 #define MAX_DEPT_NAME_LENGTH 20 #define MAX_TITLE_LENGTH 20 // 定义职工结构体 typedef struct { int id; char name[MAX_NAME_LENGTH]; char department[MAX_DEPT_NAME_LENGTH]; char title[MAX_TITLE_LENGTH]; float basicSalary; float overtimeSalary; float bonus; float totalSalary; } Employee; // 职工列表 Employee employees[MAX_EMPLOYEES]; int employeeCount = 0; // 函数声明 void addEmployee(); void queryEmployeeById(); void queryEmployeeByName(); void sortEmployeesByTotalSalary(); void sortEmployeesByBasicSalary(); void deleteEmployee(); void updateEmployee(); void analyzeDepartment(); void printEmployees(); int main() { int choice; do { printf("\n职工信息管理系统\n"); printf("1. 添加职工记录\n"); printf("2. 查询职工\n"); printf("3. 排序职工数据\n"); printf("4. 删除职工记录\n"); printf("5. 修改职工记录\n"); printf("6. 部门职工分析\n"); printf("7. 输出职工信息表\n"); printf("0. 退出\n"); printf("请选择操作: "); scanf("%d", &choice); switch (choice) { case 1: addEmployee(); break; case 2: printf("按编号查询(1) 或 按姓名查询(2): "); scanf("%d", &choice); if (choice == 1) { queryEmployeeById(); } else if (choice == 2) { queryEmployeeByName(); } else { printf("无效的选择,请重新输入。\n"); } break; case 3: printf("按总工资排序(1) 或 按基本工资排序(2): "); scanf("%d", &choice); if (choice == 1) { sortEmployeesByTotalSalary(); } else if (choice == 2) { sortEmployeesByBasicSalary(); } else { printf("无效的选择,请重新输入。\n"); } break; case 4: deleteEmployee(); break; case 5: updateEmployee(); break; case 6: analyzeDepartment(); break; case 7: printEmployees(); break; case 0: printf("退出系统。\n"); break; default: printf("无效的选择,请重新输入。\n"); } } while (choice != 0); return 0; } // 添加职工记录 void addEmployee() { if (employeeCount >= MAX_EMPLOYEES) { printf("职工信息已满,无法添加新记录。\n"); return; } printf("请输入职工编号: "); scanf("%d", &employees[employeeCount].id); printf("请输入职工姓名: "); scanf("%s", employees[employeeCount].name); printf("请输入职工部门: "); scanf("%s", employees[employeeCount].department); printf("请输入职工职称: "); scanf("%s", employees[employeeCount].title); printf("请输入职工基本工资: "); scanf("%f", &employees[employeeCount].basicSalary); printf("请输入职工加班工资: "); scanf("%f", &employees[employeeCount].overtimeSalary); printf("请输入职工奖金: "); scanf("%f", &employees[employeeCount].bonus); employees[employeeCount].totalSalary = employees[employeeCount].basicSalary + employees[employeeCount].overtimeSalary + employees[employeeCount].bonus; employeeCount++; printf("职工添加成功。\n");

点赞(0)
×
关注公众号,登录后继续创作
或点击进入高级版AI
扫码关注后未收到验证码,回复【登录】二字获取验证码
发表
评论
返回
顶部