结构体数组与函数综合(管理系统)
题目:1、从键盘输入5位员工的信息(员工号、姓名、岗位、年龄、测评分、等级),并显示输出,要求输入和输出均使用子函数实现;
2、根据每个员工的测评分,使用子函数判断员工的等级(优秀、良好、中等、及格、不及格)存进员工“等级”信息中;
3、使用子函数统计每一等级的员工人数;
4、使用子函数查询测评分最高的最低的员工信息;
5、用选择菜单的方式实现功能;当选择除了输入函数外其他函数时能检测是否有员工信息可以执行函数功能;
6、使用子函数输入员工号查询员工信息:
若查询到则输出该员工的所有信息,否则提示无此员工号;
对查询到的该员工信息可以选择修改“岗位”、“年龄”或者“测评分”,并能显示修改后的新信息(包括“新等级”);
附加:可以选择在子函数中反复选择修改的项目直到自己想退出。
以下是部分代码,也有只写了部分。谢谢各位帮我修改修改,重新写一个也行,谢谢!
程序代码:
#include "stdio.h" #define N 5 struct Student { int ID; char name[20]; char position[20]; int age; float score; char level[20]; }; void input(struct Student s[N]) { int i; for (i = 0;i < N;i++) { scanf("%d%s%s%d%f", &s[i].ID, s[i].name, s[i].position, &s[i].age, &s[i].score); } } void output(struct Student s[N]) { int j; for (j = 0;j < N;j++) { printf("%d\t%s\t%s\t%d\t%f\n", s[j].ID, s[j].name, s[j].position, s[j].age, s[j].score); } } void Level(struct Student s[N]) { int i; for (i = 0;i < N;i++) { if (s[i].score > 0 && s[i].score < 60) { strcpy(s[i].level, "不及格"==0); } else if (s[i].score >= 60 && s[i].score < 70) { strcpy(s[i].level, "及格"==0); } else if (s[i].score >= 70 && s[i].score < 80) { strcpy(s[i].level, "中等"==0); } else if (s[i].score >= 80 && s[i].score < 90) { strcpy(s[i].level, "良好"==0); } else if (s[i].score >= 90 && s[i].score <= 100) { strcpy(s[i].level, "优秀"==0); } } printf("%等级为不及格的人数为=%d人"); printf("%等级为及格的人数为=%d人"); printf("%等级为中等的人数为=%d人"); printf("%等级为良好的人数为=%d人"); printf("%等级为优秀的人数为=%d人"); } void chaxun(struct Student s[N]) { } int main() { int select; while (1) { printf("1.成绩录入\n"); printf("2.成绩输出\n"); printf("3.成绩等级\n"); printf("4.成绩等级人数\n"); printf("5.成绩查询\n"); scanf("%d", &select); switch (select) { case1:input();break; case2:output();break; case3:Level();break; } } int main() { struct Student s[N]; printf(" 学生信息管理系统 \n"); printf("ID name position age garde level\n"); input(s); output(s); Level(s); return 0; }