commit cbe4aa766965d91213902ac2e03c7c528fd17813 Author: xuhang <1402067573@qq.com> Date: Tue Jan 8 13:32:32 2019 +0800 first commit diff --git a/xskqxt.c.cpp b/xskqxt.c.cpp new file mode 100644 index 0000000..3ff352f --- /dev/null +++ b/xskqxt.c.cpp @@ -0,0 +1,370 @@ +#include"stdio.h" +#include"string.h" +#define N 100 +#define NULL 0 +int n,m=0;//n为记录学生的个数;m为统计函数1中记录符合统计条件的个数 +struct kuangke +{//有关旷课统计函数1的信息记录 +char name[40]; +int kuangke_num; +}kuangke[N]; +struct kuangke2 +{//有关旷课统计函数2的信息记录 +char name[40]; +int num; +}kuangke2[N]; +struct kuangke temp;//旷课信息交换 +struct kuangke2 temp2;//旷课信息交换 +struct Student +{// +int num; +char name[40]; +char lesson_name[40]; +char lesson_time[40]; +float time; +int chidao_num; +int zaotui_num; +int qingjia_num; +int kuangke_num; +}stu[N]; +void creat(void) +{//创建学生缺课记录 +int i; +printf("\n请输入需要创建缺课信息的总学生数:\n"); +scanf("%d",&n); +printf("\n请输入缺课学生信息 包括:\n"); +printf("学号 姓名 课程名称 上课时间 缺课日期 迟到次数 早退次数 请假次数 旷课次数 \n"); +printf("例如:\n08 张三丰 C语言课程设计 三、四节 6.10 \t1 \t0 \t0 \t0\n\n"); +for(i=0;i=50) +break; +printf("\n请输入修改信息:"); +switch(k) +{ +case 1:scanf("%s",stu[i].name);break; +case 2:scanf("%s",stu[i].lesson_name);break; +case 3:scanf("%s",stu[i].lesson_time);break; +case 4:scanf("%f",&stu[i].time);break; +case 5:scanf("%d",&stu[i].chidao_num);break; +case 6:scanf("%d",&stu[i].zaotui_num);break; +case 7:scanf("%d",&stu[i].qingjia_num);break; +case 8:scanf("%d",&stu[i].kuangke_num);break; +case 9:break; +default:printf("无该菜单选项,请重新输入\n\n"); +} +printf("\n修改后的信息为:\n"); +printf("\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"); +printf("%d号学生的信息为:\n\n",num); +printf("\t学号\t姓名\t课程名称\n"); +printf("\t%d\t%s\t%s\n\n",stu[i].num,stu[i].name,stu[i].lesson_name); +printf("\t上课时间\t缺课日期\n"); +printf("\t%s\t%0.2f\n\n",stu[i].lesson_time,stu[i].time); +printf("\t迟到次数 早退次数 请假次数 旷课次数\n"); +printf("\t%d\t\t%d\t%d\t\t%d\n",stu[i].chidao_num,stu[i].zaotui_num,stu[i].qingjia_num,stu[i].kuangke_num); +printf("\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"); +} +} +else//未检测到信息时记录并提示错误信息; +flag++; +if(flag==n) +printf("\n输入信息有误\n\n"); +} +} +void intfac(void) +{//整型类数据查询 +int num,i,flag=0; +scanf("%d",&num); +for(i=0;i旷课少 +{ +if(kuangke[i].kuangke_num=time1&&stu[i].time<=time2) +{ +if(stu[i].kuangke_num>0) +{ +strcpy(kuangke[k].name,stu[i].name); +kuangke[k].kuangke_num=stu[i].kuangke_num; +m=k; +k++; +} +else +flag++; +} +} +if(flag==n) +printf("\n输入信息有误\n\n"); +else +tongji1printf(); +} +void tongjifac2(void) +{//信息检索 +float time1,time2; +int i,flag=0,k; +printf("请输入起始时间和终止时间\n"); +scanf("%f%f",&time1,&time2); +for(i=0,k=0;i=time1&&stu[i].time<=time2) +{ +if(stu[i].kuangke_num>0) +{ +strcpy(kuangke[k].name,stu[i].lesson_name); +kuangke[k].kuangke_num=stu[i].kuangke_num; +m=k; +k++; +} +else +flag++; +} +} +if(flag==n) +printf("\n输入信息有误\n\n"); +else +tongji2printf(); +} +void tongji(void) +{//统计缺课情况 +int k; +do +{ +printf("\n*******************************************************************\n"); +printf("请选择统计项目\n\n"); +printf("\n\t1.统计某段时间内,旷课学生姓名及旷课次数。\n"); +printf("\n\t2.统计某段时间内,有学生旷课的课程及旷课人次。\n"); +printf("\n\t3.退出统计菜单\n"); +printf("\n*******************************************************************\n"); +scanf("%d",&k); +switch(k) +{ +case 1:tongjifac1();break; +case 2:tongjifac2();break; +case 3:break; +default:printf("\n\n无此菜单选项,请重新选择\n"); +} +}while(k!=3); +} +int main(void) +{ +struct Student *head; +int n; +printf("\t\t\t欢迎使用学生考勤管理系统\n\n"); +printf("\t\t\t请统计好要输入的学生的个数\n\n"); +printf("\t\t\t并一次性输入所有的数据\n\n"); +printf("\t\t\t注意;本系统只能暂时保存数据\n\n"); +printf("\t\t\t所有数据不写入文档,请做好备份\n\n"); +do +{ +printf("********************************************************************************\n\n"); +printf("\t\t\t1.创建学生缺课记录\n\n"); +printf("\t\t\t2.修改学生缺课记录\n\n"); +printf("\t\t\t3.查询学生缺课记录\n\n"); +printf("\t\t\t4.统计学生缺课记录\n\n"); +printf("\t\t\t5.退出统一考勤管理系统\n\n"); +printf("********************************************************************************\n"); +scanf("%d",&n); +switch(n) +{ +case 1:creat();break; +case 2:xiugai();break; +case 3:chaxun();break; +case 4:tongji();break; +case 5:break; +default:printf("无该菜单选项,请重新选择。\n\n"); +} +}while(n!=5); +} + diff --git a/xskqxt.exe.exe b/xskqxt.exe.exe new file mode 100644 index 0000000..95752e5 Binary files /dev/null and b/xskqxt.exe.exe differ