宿舍考勤管理系统设计报告

  • 格式:docx
  • 大小:446.02 KB
  • 文档页数:41

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

目录

1设计内容及要求.........................................3

1.1设计内容.....................................................3

1.2设计任务及具体要求...........................................3

2概要设计.........................................................4

2.1该系统的功能简介.............................................4

2.2 总体程序框图.................................................4

2.3各个模块之间的主要关系........................................5

3 设计过程或程序代码............................................5

3.1各个模块的程序流程图及运行界面................................5

3.2对关键代码加以分析说明.......................................10

4程序调试分析.....................................................14

5小结.............................................................17

致谢...........................................................17

参考文献...........................................................17

附:源程序..........................................................18

1 设计内容及要求

1.1设计内容

学生考勤信息记录了学生的缺课情况,它包括:缺课日期、第几节课(连续用begin-end的形式表示)、课程名称(课程名称中不会出现空格)、学生姓名、缺课类型(迟到、早退、请假及旷课)。

1.2设计任务及具体要求

任务:(1)给出软件结构,说明各模块的功能。

(2)设计相关的类,并说明该类的作用。特别要用图形说明类之间的继承关系。

(3)编写代码

具体要求:(1)定义相关的数据,比如:

学生学号

学生姓名

课程名称

上课时间

到课时间

出勤状态 [旷课/病假/事假/迟到/早退]

(2)能够进行以下操作:

A.能够对数据进行增、删、改、查操作。

B.能够按学号顺序列出某一课程的出勤状况

2 概要设计

2.1系统的功能简介

考勤管理系统,有以下功能:

(1).录入学生的缺课记录:从键盘输入数据(提示:为避免重复从键盘输入数据,测试时可将数据存储在文件中,利用输入重定向功能读入),输入格式为:缺课日期 第几节课 课程名称学生姓名 缺课类型 每行一条纪录。 例如:

2019-04-29 2-4 中国近现代文学史 李云龙 迟到 2019-04-28 2-4 大学生社交礼仪

(2).修改某个学生的缺课记录:可以对缺课纪录的任意部分进行修改,然后显示一下修改后的纪录。

(3).查询某个学生的缺课情况:查询结果按照日期升序排序,同一天内按照所缺课程的时间升序排序。

(4).统计某段时间内(以天为单位),旷课学生姓名及旷课节数,查询结果先按旷课节数降序排序,旷课节数相同的学生按姓名升序排序;

(5).统计某段时间内,有学生旷课的课程及旷课人次,按旷课人次由多到少排序,旷课人次相同的课程按课程名称升序排序。

2.2 总体程序框图

2.3各个模块之间的主要关系

本程序用结构体新定义一种数据类型,系统包含一个主函数和6个子函数(insert(),check(),rivise(),Delete(),output(),deleteallchain()),6个子函数分别用来插入、查询、修改、删除、输出、收回动态分配的空间,在主函数中通过调用子函数来实现所需功能。

3 设计过程或程序代码

3.1各个模块的程序流程图及运行界面 修改某学生的缺课查询某学生的缺课信息

统计某段时间内旷课学生姓名及旷课节数

统计某段时间内,有学生旷课的课程及旷课人次

录入学生的缺课信学生考勤管理系统

录入缺课学生的姓名、缺课日期、缺课节次、缺课课程名称、缺课类型

修改某学生的缺课日期、缺课节次、缺课课程名称、缺课类型

查询某学生的缺课日期、缺课节次、缺课课程名称、缺课类型

按时间升序显示旷课学生姓名及旷课节数

按时间升序显示有学生旷课的课程及旷课人次

学生考勤管理系统中四个类的类层次图为:

图2 学生考勤管理系统中中四个类的类层次图

学生考勤管理系统中各功能模块的实现:

图3 学生考勤管理系统中菜单函数的功能图

1、 学生缺课信息录用功能模块:

Time类

Xinxi类

qstu类 qkechen类

菜单

录入学生的缺课信息 查询某学生的缺课信息 修改某学生的缺课信息 统计某段时间内,有学生旷课的课程及旷课人次 统计某段时间内旷课学生姓名及旷课节数

图4

学生缺课信息录入的功能

2、 修改某学生缺课信息功能的模块图

图5 学生考勤管理系统修改学生缺课信息功能图

学生缺课信息录用功能 录入学生缺课节次 录入学生缺课日期

录入学生缺课课程名称

录入缺课学生姓名

录入学生缺课类型

修改某学生的缺课日期

修改某学生的缺课课程

修改某学生的缺课类型 修改某学生缺课信息功能 修改某学生的缺课节次

3 查询某学生缺课信息功能图:

图6 学生考勤管理系统查询学生缺课信息功能图

4、 统计某段时间内旷课学生姓名及旷课节数功能模块:

图7统计某段时间内旷课学生姓名及旷课节数功能图

5、统计某段时间内,有学生旷课的课程及旷课人次功能模块

输入要查询的学生姓名

统计某段时间内旷课学生姓名及旷课节数

显示某段时间内旷课学生姓名及旷课节数

返回菜单 查询某学生缺课信息功能

统计某段时间内旷课学生姓名及旷课节数功能

统计某段时间内,有学生旷课的课程及旷课人次功能

统计某段时间内,有学生旷课的课程及旷课人次

返回菜单 显示某段时间内,有学生旷课的课程及旷课人次 显示要查询的学生缺课信息

继续查询或返回菜单

图8 统计某段时间内,有学生旷课的课程及旷课人次功能图

Tine -year:int

-month:int

-day:int

+time()

+~time()

Xinxi

-name[20]:char

-kechen[10]:char

-jieci[3]:char

- queke[10]:char

-tm[3]:char

-tiaoshu:int=0

+xinxi()

+~xinxi()

+setname(n:char*):void

+settime(y:int,

m:int,d:int):void

+setqklx(qk: char*):

void

+setjieci(jc:

char*):void

+setkechen(kc:

char*):void

+getname():char*

+getqklx():char*

qkechen

-renci:int

-kcshu:int=0

+qkechen()

+~qkechen()

+getrc(st1[]:xinxi,n:int ,j:int):int

+qkn[20]:char qstu

-jieshu:int

-qst:int

+qstu()

+~qstu()

+print(st1:xinxi &):void

+getjs( st1[]:xinxi,n:int,

j:int):int

+setjs(js:int=0):int

+qstn[20]:char 基类

派生类

派生类 派生类