• 460.00 KB
  • 2022-05-17 13:12:34 发布

学生考勤管理系统课程设计

  • 13页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
学生考勤管理系统13第1章课题概述1.1课题的目的课程设计题目:考勤管理(1)了解并掌握中小型综合应用程序的一般设计方法,具备初步的独立分析和设计能力;(2)初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;(3)提高综合运用所学的理论知识和方法独立分析和解决问题的能力;(4)训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风;(5)课题的代码要求达到一定工作量,并具有一定的深度和难度;(6)根据课题程序的分析和设计过程,撰写课程设计报告。1.2课题的要求(1)录入学生的缺课记录;(2)修改某个学生的缺课记录;(3)查询某个学生的缺课情况;(4)统计某段时间内,旷课学生姓名及旷课次数,按旷课次数由多到少排序;(5)统计某段时间内,有学生旷课的课程及旷课人次,按旷课人次由多到少排序; (6)系统以菜单方式工作 学生考勤管理系统13第2章设计思路2.1模块设计学生考勤管理系统包含五个大的功能,分别是:录入学生缺课信息、修改学生缺课信息、查询某个学生的缺课情况、统计某段时间内(以天为单位),旷课学生姓名及旷课节数和统计某段时间内,有学生旷课的课程及旷课人次。学生的缺课信息主要包含学号,缺课日期,第几节课、课程名称,学生姓名,缺课类型。在程序开始时,系统提供相应的菜单供用户进行相应的选择操作。本程序包括基类classstudent学生信息课程类,以及派生类classrecords:publicstudent实现学生信息和考勤情况操作的类。这两个类是所有函数进行操作的基础。Records(派生类)student*rtaticintnvoidrecords()voidinput()voidwt(int&i)voidrd()voidpri1()voidpri2()voidsearch()voidedt()voidwdt(int&n)Student(基类)charcname[100]charsname[100]intsnumintcnointtypeinttimevoidset()voidrecords::input()为学生考勤系统的录入模块,在录入学生缺课信息时根据系统提示逐一输入。每输入完一条信息,系统会提示是否继续输入,用户可以选择继续或返回主菜单。voidrecords::edt()为学生考勤系统的修改模块,在修改学生缺课信息时,用户首先输入要修改的学生姓名,系统会检索如果系统中有该学生的相关信息则系统首先会提示用户修改该学生的那一部分信息,用户可自行选择。如果系统中没有该学生的相关信息,则系统会给相关提示,用户可以选择继续输入要修改的学生姓名或选择退出返回主菜单。voidrecords::search()为学生考勤系统的学生查询模块,在查询学生缺课信息时,用户先输入要查询的学生学号,系统检索判断是否存在该学生,若存在则输出查询到的该学生的信息。voidrecords::pri1()为学生考勤系统的统计旷课学生模块,统计某段时间内,旷课学生姓名及旷课次数 学生考勤管理系统13时,用户先输入要查询的时间间隔,系统自动检索在该时间段内的学生缺课信息并按旷课次数由多到少排序。voidrecords::pri2()为学生考勤系统的统计旷课课程模块,统计某段时间内,有学生旷课的课程及旷课人次,用户先输入要查询的时间间隔,系统自动检索在该时间段内的有学生旷课的课程并按旷课人次由多到少排序。2.2程序流程图整个程序的流程如图2-1所示。图2-1程序流程图 学生考勤管理系统13第3章程序实现3.1程序中各函数分析函数名函数功能input()录用学生课程考勤信息wt(int&i)信息以文件的形式保存wdt(int&n)修改信息以文件的形式保存pri1()统计某段时间内旷课学生姓名及旷课节数pri2()统计某段时间内旷课的课程及旷课人次search()查询学生考勤信息edt()修改学生考勤信息rd()信息以文件的形式读出表3-1程序中的函数列表3.2类的实现1、学生信息课程类学生信息类包括学生的学号、姓名、课程、缺课节数、缺课类型、缺课时间。classstudent{public:voidset(intt,intb,char*s,char*c,intcno,inttype){strcpy(cname,c);strcpy(sname,s);this->snum=b;this->cno=cno;this->type=type;this->time=t;}charcname[100],sname[100];//定义缺课课程名称,学生名称intsnum,cno,type,time;//定义学生学号,缺课节次,缺课类型,时间};2、实现学生信息和考勤情况操作的类classrecords:publicstudent{ 学生考勤管理系统13public:records(){r=newstudent[max];}voidinput();voidwt(int&i);voidrd();//信息以文件的形式读出voidpri1();voidpri2();voidsearch();voidedt();voidwdt(int&n);student*r;staticintn;};intrecords::n=0;3、学生考勤系统的录入模块voidrecords::input()//{for(inti=0;i<100;i++){intt1,t2,t5,t6;chart3[100],t4[100];cout<<"请输入学生的缺课时间:";cin>>t1;cout<<"请输入学生的学号:";cin>>t2;cout<<"请输入学生的姓名:";cin>>t3;cout<<"请输入学生的缺课课程:";cin>>t4;cout<<"请输入学生的缺课节次:";cin>>t5;cout<<"请输入学生的缺课类别(1.迟到2.早退3.请假4.旷课):";cin>>t6;records::n++; 学生考勤管理系统13cout<>km;switch(km){case1:cout<<"请输入学生缺课时间:";cin>>t1;break;case2:cout<<"请输入修改的学生学号:";cin>>t2;break;case3:cout<<"请输入修改的学生姓名:";cin>>t3;break;case4:cout<<"请输入修改的缺课课程:";cin>>t4;break;case5:cout<<"输入修改的缺课课程节次:";cin>>t5;break;case6:cout<<"请输入缺课类型(1.迟到2.早退3.请假4.旷课):";cin>>t6;break;}r[i].set(t1,t2,t3,t4,t5,t6);elsereturn;}5、学生查询模块 学生考勤管理系统13voidrecords::search()//学生查询模块{cout<<"请输入要查询的学生学号:";inttnum,flag=1;cin>>tnum;for(inti=0;i>time1>>time2;for(inti=0;itime2){cout<<"该段时间内没有旷课的学生!"<0;j--){if(c[j]>c[j-1]){inttmp=c[j];c[j]=c[j-1];c[j-1]=tmp;char*stmp=s[j];s[j]=s[j-1];s[j-1]=stmp;}}cout<<"旷课学生姓名t旷课次数"<>time1>>time2;for(inti=0;i0;j--){if(c[j]>c[j-1]){inttmp=c[j];c[j]=c[j-1];c[j-1]=tmp;char*stmp=s[j];s[j]=s[j-1];s[j-1]=stmp;}}cout<<"旷课课程名称t旷课人数"<