用c语言写一个代码,完成这个功能 1. 有 4 个教工,每个教工的薪资由三部分构成(基础工资,绩效工资,奖金),从键盘上输入教工数据(包括教工工号,姓名,基础工资,绩效工资,奖金),计算出每位教工的总工资。 要求: (1)完成教工信息管理系统界面显示,界面如下图所示;(15分) 教工信息管理系统 1.请录入教工基本信息2.工资最高的教工信息3.显示所有教工信息 4.按照奖金降序方式显示教工姓名 0.退出系统 请选择(0-4): (2)声明相应结构体类型及结构体数组,完成主函数的定义;(15分) (3)自定义Information 函数完成教工数据的录入和总工资数据的计算和录入; (15 分) (4)自定义Salary_Max 函数来找总工资最高的教工信息;(20分) (5)自定义Show 函数来输出显示所有教工的信息;(15分) (6)自定义BE_Sort 函数输出显示全部教工姓名(按照奖金降序方式);(20分)
时间: 2023-02-09 14:23:20 浏览: 96
基于c语言的教工工资管理系统设计与代码实现
以下是完成上述功能的 C 语言代码示例:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 4 // 教工数量
// 定义教工信息结构体
typedef struct {
char number[20]; // 教工工号
char name[20]; // 姓名
float base; // 基础工资
float performance;// 绩效工资
float bonus; // 奖金
float total; // 总工资
} Staff;
// 声明相应的函数
void Information(Staff *staff);
void Salary_Max(Staff *staff);
void Show(Staff *staff);
void BE_Sort(Staff *staff);
int main() {
Staff staff[N]; // 定义教工信息数组
int choice;
while (1) {
printf("教工信息管理系统\n");
printf("1.请录入教工基本信息\n");
printf("2.工资最高的教工信息\n");
printf("3.显示所有教工信息\n");
printf("4.按照奖金降序方式显示教工姓名\n");
printf("0.退出系统\n");
printf("请选择(0-4):");
scanf("%d", &choice);
switch (choice) {
case 1:
Information(staff);
break;
case 2:
Salary_Max(staff);
break;
case 3:
Show(staff);
break;
case 4:
BE_Sort(staff);
break;
case 0:
exit(0);
break;
default:
printf("输入错误,请重新输入\n");
break;
}
}
return 0;
}
// 录入教工数据并计算总工资
void Information(Staff *staff) {
for (int i = 0; i < N; i++) {
printf("请输入第%d位教工的工号:", i + 1);
scanf("%s", staff[i].number);
printf("请输入
阅读全文