1、信 阳 师 范 学 院课 程 设 计课 程 C+程序设计 题 目 学生考勤信息管理系统 院 系 计算机与信息技术学院 专业班级 2013级软件工程 学生姓名 学生学号 指导教师 2016年 1月2 日课程设计成绩评价表课程名称C+程序设计题目名称学生考勤信息管理系统学生姓名学号指导教师姓名职称讲师序号评价项目指 标满分评分1工作量与工作态度按期圆满的完成了规定的任务,难易程度和工作量符合教学要求,善于与他人合作。102课程设计书质量程序设计合理,分析问题思路清晰,结构严谨,文理通顺,撰写规范,图表完备正确.453功能完整能够实现课程设计要求的基本功能,并产生正确输出,程序具有一定的容错能力。4
2、04创新工作中有创新意识,对前人工作有一些改进或有一定应用价值。5总分指导教师: 2015年 1月 9 日C+程序设计课程设计任务书课程 C+程序设计 题目学生考勤信息管理系统专业软件工程姓名学号主要内容:记录学生缺课情况,包括:缺课日期,第几节课,课程名称,学生姓名,缺课类型(迟到、早退、请假及旷课)。设计学生考勤管理系统,使之能提供以下功能:1录入学生缺课记录;2修改某个学生缺课情况;3查询某个学生的缺课情况;4统计某段时间内,旷课学生姓名及旷课次数,按旷课次数由多到少排序;5统计某段时间内,所有学生旷课的课程及旷课人次,按旷课人数由多到少排序。基本要求:1) 采取模块化方式进行程序设计,
3、要求程序的功能设计、数据结构设计及整体结构设计合理,学生也可根据自己对题目的理解增加新的功能模块。2) 程序算法说明清晰,运行情况良好,实验数据测试无误,容错性强。3) 编程风格良好。完成期限2015。12。7至2016。1.4指导教师2015年 12月 15日目录1背景介绍12概要设计12。1设计思路12。2总体方案框图13详细设计23.1数据结构23.2模块设计34代码实现与测试34.1模块源代码34。2测试模块44。3测试结果与分析45总结6参考文献71背景介绍随着高校校园信息化的逐步完善,有效地借助网络、数据库等技术提高工作和管理效率。如今针对师生的成绩查询系统、教务管理系统、招生就业
4、系统、BBS、校园网站等系统在各大高校纷纷出现,对全校师生的学习、生活、管理、办公带来了便利。因此学生考勤管理系统能进一步加强高校学风建设,维护正常的教学秩序,给学生创造一个优良的学习环境。目前高校学生上课考勤管理都是以任课老师上课点名,记录学生上课情况,对于时间比较长的请假,需要通过递交请假申请让班主任、院系领导都批准方能生效。这种模式在目前高校管理中暴露了不可避免的弊端:1、学生请假不方便;2、学生请假对任课老师不透明;3、学生对自己整个学期的上课出勤情况没有整体的统计信息;4、班主任对本班学生整个学期的上课出勤情况不易查看;5、院系领导、学校领导不容易把握学生上课的出勤情况。因此一个好的
5、学生考勤管理系统在一定程度上可以解决这些弊端。本系统主要针对目前高校学生在线请假以及学生上课出勤管理而设计的信息系统.2概要设计2。1设计思路根据课题要求,可将系统分为五部分来实现。1) 添加学生缺课信息;2) 查询学生缺课信息;3) 修改学生缺课信息;4) 将一段时间内某个学生的缺课情况按缺课次数由多到少排序;5) 将一段时间内的所有学生的缺课情况全部按4)排序;2.2总体方案框图添加学生缺课信息修改学生缺课信息查询学生缺课信息学生考勤管理系统菜单页面图1基本原理框图3详细设计3。1数据结构图2。类图代码包含两个类的头文件,一个日期类Date,一个记录信息的类Queke,两个类的数据成员及成
6、员函数如上图所示。代码的主函数包含修改函数alter(),查询函数select(),添加函数add(),排序函数Onepaixu()及Allpaixu()用来实现考勤管理系统所需要的功能。3。2模块设计在主文件中使用各个函数来实现不同的模块功能:void add():实现增加功能;void select():实现查找功能;void alter():实现修改功能;void count():找出满足要求的一段时期内的缺课记录;void Onepaixu():实现对某个学生的缺课情况按缺课次数由多到少排序;void Allpaixu():实现对所有学生的缺课情况按缺课次数由多到少排序;在主函数中设置
7、菜单用来满足用户选择与函数调用相连接。4代码实现与测试4。1模块源代码(只给出部分代码)1。添加学生缺课信息:2。修改学生缺课信息(包括查询):4。2测试模块各个模块在code::blocks中测试均成功4.3测试结果与分析测试数据如下: d.add(2015,11,20); a0。set(”小明,”c+”,迟到”,”34”,d); a1。set(”小明”,”组成原理”,”迟到,”1-2”,d); a2。set(小明”,c+,”旷课”,3-4”,d); a3。set(”小明,c+,迟到”,7-8”,d); a4.set(小李”,c+”,”迟到”,”3-4”,d); a5.set(小李”,组成原
8、理”,迟到”,”12”,d);a6。set(小李,c+,旷课”,”34”,d);测试结果1:测试结果2:测试结果3:测试结果4:保存的文件:5总结本次设计作业让我对c+的掌握更加熟练,同时也认识到了自己的不足和缺陷.这次作业对类的使用使自己对书上的知识有了更加深刻的了解,对编程过程中出现的各种错误也有了解,大大提高了改错的能力。也认识到了从设计到实现的过程比自己想象的更加复杂。在这次编程过程中遇到很多问题,数组的越界,类私有成员必须通过成员函数来访问,数据生存周期,数据使用范围,循环执行的问题,dowhile语句,switchcase语句等等。花费了好长的时间来一一改正自己的问题.最后一点就是数据的保存本来可以弄得更好一点不过时间有点来不及所以只是简单的输出了一下并没有完善.没有实践就没有体会,自己动手做了才知道自己的问题在哪里,今后一定多动手提高自己的能力。参考文献1谭浩强。C语言程序设计(第三版)。北京:清华大学出版社2林碧英。C语言程序设计教程。北京:中国电力出版社,20063美赫伯特.希尔特,王子恢等译。C语言大全。北京:电子工业出版社。2006附录: