学生考勤管理系统设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C/C++程序设计专题实验
报告
题目:学生考勤管理系统设计
班级:电子信息科学与技术131
**: ***
目录
目录 (1)
摘要 (2)
1.设计要求和目的........................................................................................... 错误!未定义书签。
1.1设计目的 (3)
1.2问题描述 (3)
1.3功能要求 (3)
1.4问题的解决方案 (3)
2 设计思路和方法 (4)
3主模块设计 (5)
4.运行测试及结果 (13)
5. 总结 (16)
参考文献 (16)
源代码 (17)
摘要
随着信息技术在管理上越来越深入的应用,管理信息系统的实施在技术上已经逐步成熟。管理信息系统是一个不断发展的学科,任何单位要生存要发展,要提高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的信息管理系统。
由于学校的学生管理系统缺乏开发,而学生人数不断增加,学生信息的不断更新,所以,学生考勤管理系统的建立就显得非常重要了。
本设计是基于Visual basic C++ 6.0开发环境,至上而下,层次化地设计学生考勤管理,综合考虑学生考勤管理所涉及的多方面问题,结合学校和教师的情况,有步骤,条理清晰的设计,操作简单,很方便的实现了学校和老师对学生考勤的管理。
关键词:学生考勤管理C++ 信息录入查询
1.设计要求和目的
1.1设计目的
(1)进一步锻炼学生对C++课程基础知识和实践技能的掌握和运用;
(2)要求学生基本掌握面向对象程序设计的基本思路和方法;
(3)要求学生能够利用所学的基础知识和技能,解决简单的面向对象设计问题。
1.2问题描述
学生信息包括:学号、姓名、性别、年龄、班级等信息。
考勤信息包括:缺课日期、第几节课、课程名称、学生姓名、缺课类型(迟到、早退、请假和旷课)。
1.3功能要求
(1)添加功能:程序能够添加学生的记录和缺课记录,提供选择界面供用户选择所要添加的类别。添加学生记录时,要求学号要唯一,如果添加了重复学号的记录时,则提示数据添加重复并取消添加。
(2)查询功能:可根据学号、姓名等信息对已添加的学生记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。还可以按课程名、学生姓名对缺课记录进行查询。
(3)显示功能:可显示当前系统中所有学生的记录和缺课记录,每条记录占据一行。
(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意学号的唯一性。
(5)删除功能:主要实现对已添加的学生记录进行删除。如果当前系统中没有相应的记录,则提示“记录为空!”并返回操作。
(6)统计功能:能根据多种参数进行统计。能按课程名统计出学生旷课的信息、还可以按姓名统计出任一学生的旷课情况。需要排序。
(7)保存功能:可将当前系统中各类记录存入文件中,存入方式任意。
(8)读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用。
1.4问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。
(7)功能调试;
(8)完成系统总结报告。
2.设计思路和方法
2.1设计思路
根据设计要求,经分析可将整个系统划分为7个功能模块。数据管理中可以对学生的基本信息、课程的基本信息、学生缺课的查询、添加、删除和修改。查询管理通过根据学生姓名,课程姓名时间段儿等信息,查询单个学生的缺课记录,单科课的旷课记录,单个学生的旷课记录。功能模块图如下图所示:
学生考勤管理程序
修改学生缺课记录
查
看
学
生
旷
课
记
录
查
看
单
科
旷
课
记
录
查
询
学
生
缺
课
记
录
建立学生缺课记录
储
存
学
生
旷
课
记
录载
入
学
生
旷
课
记
录
2.2数据结构设计
struct xueke
{char xueke_name[50];
int people_num;
};
这是定义了一个xueke结构体,用来存放一个学科名及其相应的旷课人数;
struct student
{ char name[50];
long time;
int lesson_time;
char lesson_name[50];
int chidao_num;
int zaotui_num;
int qingjia_num;
int kuangke_num;
struct student *next;
};这是定义了一个student的结构体,用来存放一个学生的考勤记录,
其中有,字符数组name[50],lesson_name[50],分别存放学生名字,
缺课课程名字;int型变量lesson_time,chidao_num,zaotui_num,qingjia_num, kuangke_num,分别来存放,缺课节次,迟到次数,早退次数,请假次数,旷课次数 long型
变量time,记录时间。
3.主模块设计
3.1建立学生缺课记录子模块
建立的学生人数,学生基本信息(包括缺课时间、学生姓名、课程名称、节次、迟到次数、早退次数、请假次数、旷课次数),用creat()函数,如下图: