#include #include #include #define SIZE 50 FILE *fp;//定义文件 int n,m=0;//定义全局变量 struct student //定义学生缺课信息结构体 { char name[100]; int number; char course[20]; int di; int time; int chidao; int zaotui; int qingjia; int kuangke; }stu[SIZE]; struct kuangke//定义旷课结构体1(学生姓名,旷课次数) { char name[20]; int number; }kuangke[SIZE]; struct kuangke2//定义旷课结构体2(课程名称,旷课次数) { char name[20]; int number; }kuangke2[SIZE]; struct kuangke temp;//旷课信息交换1 struct kuangke2 temp2;//旷课信息交换2 void tongji1printf()//统计方法1排序函数 { int i,j; printf("统计后的结果为;\n"); printf("旷课学生姓名 旷课次数\n"); for(i=0;i<=m;i++) { for(j=i+1;j<=m+1;j++) { if(kuangke[i].number=time1&&stu[i].time<=time2) { if(stu[i].kuangke>0) { strcpy(kuangke[k].name,stu[i].name); kuangke[k].number=stu[i].kuangke; m=k;//m记录旷课总人次 k++; } } else flag++; } if(flag==SIZE) printf("输入信息有误\n"); else tongji1printf(); } void tongji2()//统计某段时间内,有学生旷课的课程及旷课人次,按旷课人次由多到少排序; { int time1,time2; int i,flag=0,k; printf("请输入起始时间和终止时间\n"); scanf("%d %d",&time1,&time2); load(); for(i=0,k=0;i=time1&&stu[i].time<=time2) { if(stu[i].kuangke>0) { strcpy(kuangke[k].name,stu[i].course); kuangke[k].number=stu[i].kuangke; m=k;//m记录旷课总人次 k++; } } else flag++; } if(flag==SIZE) printf("输入信息有误\n"); else tongji2printf(); } void create()//录入学生缺课记录函数 { void save(); int i,n; printf("开始录入学生缺课记录\n"); printf("请输入学生总人数\n"); scanf("%d",&n); for(i=0;i