1、学生考勤管理系统 1 第 1 章 课题概述 1.1 课题的目的 课程设计题目:考勤管理 (1) 了解并掌握中小型综合应用程序的一般设计方法, 具备初步的独 立分析和设计能力; (2) 初步掌握软件开发过程的问题分析、系统设计、程序编码、测试 等基本方法和技能; (3) 提高综合运用所学的理论知识和方法独立分析和解决问题的能 力; (4) 训练用系统的观点和软件开发一般规范进行软件开发, 培养软件 工作者所应具备的科学的工作方法和作风; (5) 课题的代码要求达到一定工作量,并具有一定的深度和难度; (6) 根据课题程序的分析和设计过程,撰写课程设计报告。 1.2 课题的要求 (1) 录入学生的
2、缺课记录; (2) 修改某个学生的缺课记录; (3) 查询某个学生的缺课情况; (4) 统计某段时间内,旷课学生姓名及旷课次数,按旷课次数由多到 少排序; (5) 统计某段时间内,有学生旷课的课程及旷课人次,按旷课人次由 多到少排序; (6) 系统以菜单方式工作 学生考勤管理系统 2 第 2 章 设计思路 2.1 模块设计 学生考勤管理系统包含五个大的功能,分别是:录入学生缺课信息、修改学 生缺课信息、查询某个学生的缺课情况、统计某段时间内(以天为单位) ,旷课 学生姓名及旷课节数和统计某段时间内,有学生旷课的课程及旷课人次。学生的 缺课信息主要包含学号,缺课日期,第几节课、课程名称,学生姓名
3、,缺课类型。 在程序开始时,系统提供相应的菜单供用户进行相应的选择操作。 本程序包括基类 class student 学生信息课程类,以及派生类 class records:public student 实现学生信息和考勤情况操作的类。 这两个类 是所有函数 进行操作的基础。 void records:input()为学生考勤系统的录入模块,在录入学生缺课信息时根 据系统提示逐一输入。每输入完一条信息,系统会提示是否继续输入,用户可以 选择继续或返回主菜单。 void records:edt()为学生考勤系统的修改模块,在修改学生缺课信息时,用 户首先输入要修改的学生姓名, 系统会检索如果系统
4、中有该学生的相关信息则系 统首先会提示用户修改该学生的那一部分信息,用户可自行选择。如果系统中没 有该学生的相关信息,则系统会给相关提示,用户可以选择继续输入要修改的学 生姓名或选择退出返回主菜单。 void records:search()为学生考勤系统的学生查询模块,在查询学生缺课信息 时,用户先输入要查询的学生学号,系统检索判断是否存在该学生,若存在则输 出查询到的该学生的信息。 void records:pri1()为学生考勤系统的统计旷课学生模块,统计某段时间内, 旷课学生姓名及旷课次数时,用户先输入要查询的时间间隔,系统自动检索在该 Records(派生类) student *r
5、tatic int n void records() void input() void wt(int strcpy(sname,s); this-snum=b; this-cno=cno; this-type=type; this-time=t; char cname100,sname100;/定义缺课课程名称,学生名称 int snum ,cno,type,time; /定义学生学号,缺课节次,缺课类型,时间 ; 2、实现学生信息和考勤情况操作的类 class records:public student 学生考勤管理系统 5 public: records() r=new student
6、max; void input(); void wt(int void rd(); / 信息以文件的形式读出 void pri1(); void pri2(); void search(); void edt(); void wdt(int student *r; static int n; ; int records:n=0; 3、学生考勤系统的录入模块 void records:input() / for(int i=0;it1; coutt3; coutt5; coutkm; switch(km) case 1:coutt2; break; case 3:coutt4 ; break; case 5:coutt6; break; ri.set(t1,t2,t3,t4,t5,t6); else return; 5、学生查询模块 学生考勤管理系统 7 void records:search() /学生查询模块 couttime1time2; for(int i=0;itime2