程序说明:有N个学生,每个学生的数据包含学号(不重复)、姓名、三门课的成绩及平均成绩,试设计一学生成绩管理系统,使之能提供以下功能:(1)主菜单学生成绩管理系统 1 、 成绩录入 2 、 成绩查询 3 、 成绩统计 4 、 退出 (2)各菜单项功能① 成绩录入: 输入学生的学号、姓名及三门课的成绩;② 成绩查询: (至少一种查询方式)
v 按学号查询学生记录
v 查询不及格学生的记录
③成绩统计: v 计算学生的平均分; v 根据学生的平均分高低,对学生的数据进行排序后输出; v 对学生单科成绩排序,输出学生姓名与该科成绩;④退出系统:退出整个系统(即主菜单)
(3)结构体数组:#define N 30 struct student {int num; /* 定义学号 */ char name[20]; /* 定义姓名 */ float score[3]; /* 定义存贮三门课成绩的数组*/ float average; /* 定义平均成绩 */ };struct student stu[N]; /* 定义结构体数组,存贮多个学生的记录*/
#include #include #include struct student { int num; char name[20]; float score[4]; float average; } stu[10000]; long t,max; bool unpass[1000]; FILE *fstu=fopen("stud
dat","at+"); int init() { int no,i; float s[4],ave; char nam[20]; while (
feof(fstu)) { fscanf(fstu,"%d",&no); fscanf(fstu,"%s",nam); fscanf(fstu,"%f%f