diff --git a/kcdah.cpp b/kcdah.cpp new file mode 100644 index 0000000..6cd81cb --- /dev/null +++ b/kcdah.cpp @@ -0,0 +1,357 @@ +#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