学生考勤管理系统课程设计报告1.docx

学生考勤管理系统课程设计报告1.docx

ID:57465653

大小:609.05 KB

页数:44页

时间:2020-08-23

学生考勤管理系统课程设计报告1.docx_第1页
学生考勤管理系统课程设计报告1.docx_第2页
学生考勤管理系统课程设计报告1.docx_第3页
学生考勤管理系统课程设计报告1.docx_第4页
学生考勤管理系统课程设计报告1.docx_第5页
资源描述:

《学生考勤管理系统课程设计报告1.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、蒇一.需求分析肄功能需求:莁1、录入学生的缺勤记录;芀2、修改某个学生的缺勤记录;薆3、查询某个学生的缺勤情况;蒄4、统计某段时间内,缺勤学生学号及缺勤次数,按缺勤权值统计学生的负分值,并能进行排序;膁5、统计某段时间内,有学生旷课的课程及旷课人次,按旷课人次由多到少排序;羈6、系统以菜单方式工作羈数据需求袃本系统主要涉及的数据有学生缺课信息类和有关信息排序类。学生缺课信息包括缺课时间,学生姓名,课程名称,第几节,学生迟到次数,早退次数,请假次数,旷课次数。有关信息排序类包括对课程排序和对姓名排序。袂性能需求聿要求系统具有可靠性,速度要快肇二

2、、系统的主要功能薆(1)、录入学生的缺课记录,函数代码voidinput(records*r){}模块中。首先提示用户按照正确的格式进行学生缺课记录的录入,这个步骤比较简单,只需要不断地将记录的每个数据项存入结构体对应的成员中。蚂(2)、修改某个学生的缺课记录,函数代码voidedt(records*r){}模块中。首先必须查找到你所需要修改的那位的学生全部缺课记录。这个模块不需要定义新的结构体。在修改前当然要检查记录是否为空了,不为空的话,可以设置下面这五个菜单供用户选择:1、缺课日期2、第几节课3、课程名称4、学生姓名5、缺课类型6、退出

3、修改程序并返回系统主菜单。修改很简单,仅需要对该学生的某个部分进行替换即可。采用switch语句很快就解决。最后实现对所选记录的修改,完成后更新原有的学生记录。膀(3)、查询某个学生的缺课情况,函数代码voidsearch(records*r){}模块中。达到查询结果按照日期升序排序,同一天内按照所缺课程的时间升序排序的目的,膅(4)、统计,函数代码为voidorder_c(){}和voidorder_s(){}的类模块中。其中实现对课程排序和对学生姓名的排序。羆三、流程图莃学生考勤系统结构图:羈薇蒅肃罿蚆袄袃肁肈基类的数据成员和成员描述芄薄

4、record袈Stringdate,cname,sname;膆intcno,type;蚃voidset();肀stringtostr();衿芅类名/函数名膂描述袀类名/函数名蚇record袆基类薁edt()螆records芅实现学生旷课情况排序芁del()的类膈wt/rd()蚅实现对文件的输入和输肂search()出蒅input()芃录入学生的缺课记录羁search_s()羁描述螈修改学生信息蝿删除学生信息肀查找学生信息袇一定范围查找学生信息袇edt()螂修改学生信息螁main()羈主函数羆四、数据结构设计膂此程序运用多种条件语句,主体采用

5、的是动态数组、指针。系统的设计采用了数组语句、选择语句和循环语句,在需要处理大量同类数据时,这样就使程序书写更加简洁。程序使用了布尔函数。选择语句多采用if多分支选择结构与switch语句。首先计算switch表达式,然后在caes子句中寻找值相等的常量表达式,并以此为入口符号,由此开始顺序执行。循环语句采用了for语句等、do-while语句,for语句用于已知循环次数的循环结构,括号中的三个量分别用来表示循环变量初值、循环终值和循环增量。do-while语句先循环后判断,Break语句在switch语句中,保证多分支情况的正确执行,在循环

6、语句中,强制终止本层循环。保存和读取函数是典型的函数功能,一个程序是由若干个函数组成的,保存和读取函数是和其他函数互相调用的蒂再有使用有关类的设计,学生缺课信息类和有关信息排序类,如下:羀classrecord//学生缺课信息类肄{袅public:膂voidset(stringd,intcno,stringc,strings,inttype)螇{蒇芄羂袈薅date.assign(d);//日期cname.assign(c);//课程名字sname.assign(s);//学生姓名this->cno=cno;//对缺课类型的选择为int型th

7、is->type=type;//缺课类型蚄}葿voidset(recordre)袀{袇膃腿蚇肆date.assign(re.date);cname.assign(re.cname);sname.assign(re.sname);this->cno=re.cno;this->type=re.type;薂}罿stringdate,cname,sname;蝿intcno,type;膄};羂蚀classrecords//实现学生旷课情况排序的类螀{蒆public:莁records()//构造函数莀{薇蚅肅膁虿r=newrecord[100];n=

8、0;}voidorder_s()//姓名的排序{羇薄袁蒆肆羃蚁蒇芄莃莂蕿薆inti;intj;string*s=newstring[n];int*c=newint

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。