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

发布 2022-10-04 12:42:28 阅读 6976

合肥学院。

计算机科学与技术系。

课程设计报告。

2010~2011学年第二期。

2023年7月。

学生考勤管理系统。

目录。一。需求分析 3

1.1 功能需求 3

1.2 数据需求 3

1.3 性能需求 3

二。算法设计 3

2.1设计思想 3

2.2功能实现 7

三.用户手册 7

四。 调试及测试 8

五。 总结 13

六.参考文献 14

附录——源程序 14

一.需求分析。

开发一个好的软件,进行深入细致的可行性研究是极其必要的,而且还必须做大量的,全面的需求分析,需求分析是软件定义时期的最后一个阶段,它更是开发一个好的软件的基础。它的基本任务是准确地回答“需要此软件的人都需要哪些功能?”这个问题。

需求分析的主要任务是确定系统必须完成哪些工作,也就是对目标系统提出完整的﹑准确的﹑具体的﹑清晰的要求,确定系统必须具有的功能和性能,系统要求的运行环境,以及**系统发展的前景,并仔细分析系统中的数据,以便完善良好的软件环境。在需求分析阶段系统分析员将仔细研究软件所需要完成的具体功能。

1 功能需求:

1、录入学生的缺勤记录;

2、修改某个学生的缺勤记录;

3、查询某个学生的缺勤情况;

4、统计某段时间内,缺勤学生学号及缺勤次数,按缺勤权值统计学生的负分值,并能进行排序;

5、统计某段时间内,有学生旷课的课程及旷课人次,按旷课人次由多到少排序;

6、系统以菜单方式工作。

2 数据需求。

本系统主要涉及的数据有学生缺课信息类和有关信息排序类。学生缺课信息包括缺课时间,学生姓名,课程名称,第几节,学生迟到次数,早退次数,请假次数,旷课次数。有关信息排序类包括对课程排序和对姓名排序。

3性能需求。

要求系统具有可靠性,速度要快。

二、算法设计。

1.设计思想。

学生考勤系统结构图:

设计思想:此程序是过程性语言设计的。运用多种条件语句,主体采用的是动态数组、指针。

系统的设计采用了数组语句、选择语句和循环语句,在需要处理大量同类数据时,这样就使程序书写更加简洁。程序使用了布尔函数。选择语句多采用if多分支选择结构与switch语句。

首先计算switch表达式,然后在caes子句中寻找值相等的常量表达式,并以此为入口符号,由此开始顺序执行。循环语句采用了for语句等、do-while语句,for语句用于已知循环次数的循环结构,括号中的三个量分别用来表示循环变量初值、循环终值和循环增量。do-while语句先循环后判断, break语句在switch语句中,保证多分支情况的正确执行,在循环语句中,强制终止本层循环。

保存和读取函数是典型的函数功能,一个程序是由若干个函数组成的,保存和读取函数是和其他函数互相调用的。

再有使用有关类的设计,学生缺课信息类和有关信息排序类,如下:

class record //学生缺课信息类。

public:

void set(string d,int cno,string c,string s,int type)

void set(record re)

string date,cname,sname;

int cno,type;

class records //实现学生旷课情况排序的类。

public:

records() 构造函数。

void order_s() 姓名的排序。

for(i=1;ifor( j=i;j>0;j--)

if(c[j]>c[j-1])

int tmp=c[j];

c[j]=c[j-1];

c[j-1]=tmp;

string stmp=s[j];

s[j]=s[j-1];

s[j-1]=stmp;

cout<<"旷课学生姓名\t旷课次数"< for(i=0;icout< }

void order_c() 课程排序。

for(i=1;ifor( j=i;j>0;j--)

if(c[j]>c[j-1])

int tmp=c[j];

c[j]=c[j-1];

c[j-1]=tmp;

string stmp=s[j];

s[j]=s[j-1];

s[j-1]=stmp;

cout<<"课程名\t旷课人次"< for(i=0;icout< }

record *r;

int n;

把所有的学生记录都保存到一个文件里面,然后根据需要再将里面需要查找的元素进行查找,相应的排序可能就是将他们尽可能压进关联式容器map,有的部分就压入set里面,这些都是根据模块的功能来选定的。可以这么说,选择好合理的数据结构查找与排序就可以一劳永逸了。这点在后面部分会有详细的说明。

还有就是对各功能子函数的编写应用。

2.对功能的实现:

1)、录入学生的缺课记录,函数**void input(records *r){}模块中。首先提示用户按照正确的格式进行学生缺课记录的录入,这个步骤比较简单,只需要不断地将记录的每个数据项存入结构体对应的成员中。

2)、修改某个学生的缺课记录,函数**void edt(records *r){}模块中。首先必须查找到你所需要修改的那位的学生全部缺课记录。这个模块不需要定义新的结构体。

在修改前当然要检查记录是否为空了,不为空的话,可以设置下面这五个菜单供用户选择:1、缺课日期2、第几节课3、课程名称4、学生姓名5、缺课类型6、退出修改程序并返回系统主菜单。修改很简单,仅需要对该学生的某个部分进行替换即可。

采用switch语句很快就解决。最后实现对所选记录的修改,完成后更新原有的学生记录。

3)、查询某个学生的缺课情况,函数**void search(records *r){}模块中。达到查询结果按照日期升序排序,同一天内按照所缺课程的时间升序排序的目的,(4)、统计,函数**为void order_c(){和void order_s(){的类模块中。其中实现对课程排序和对学生姓名的排序。

三、 用户手册。

使用时根据提示进行选择和输入操作,当输入有误时会出现“输入有误,重新输入!”。首先进入程序是会有提示输入下面序号,序号后面的文字代表选择某序号后的功能。

1.显示所有学生的缺课记录。

2.录入学生的缺课信息记录。

3.查询某个学生的缺课情况。

4.修改某个学生的缺课记录。

5.删除某个学生的缺课记录。

6.统计某段时间内旷课情况。

7. 退出系统。

四、 调试及测试。

当用户执行程序时首先会出现如下界面也是主菜单界面:

当输入序号1时会出现所有学生记录:

再选择y就会又回到主菜单界面,选n时就会退出。

当在主菜单是选择序号2时就会出现如下界面:

按照提示进行输入,如果要继续输入则选择y,否则选n推出并会提示是否保存录入的内容。

当在主菜单是选择序号3时会出现界面:

此时就要求输入查询的学生姓名,输入之后如果记录没有就会出现“没有查到该学生的缺课纪录”,如果有的话就会显示次学生的记录。

当在主菜单是选择序号4时,就会提示输入需要修改的姓名,如果此学生有会出现:

如果没有此学生就会出现:

同样在主菜单选择5时会出现:

选择6时则会出现界面:

在统方式选1的话会出现上面的界面,选2的话界面如下:

当选择7时:就会退出系统如果想再次使用就必须再次打开程序选择功能使用。

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

一 需求分析。功能需求 1 录入学生的缺勤记录 2 修改某个学生的缺勤记录 3 查询某个学生的缺勤情况 4 统计某段时间内,缺勤学生学号及缺勤次数,按缺勤权值统计学生的负分值,并能进行排序 5 统计某段时间内,有学生旷课的课程及旷课人次,按旷课人次由多到少排序 6 系统以菜单方式工作。数据需求。本系...

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

信息科学与技术学院。程序设计基础课程设计报告。题目名称 学生考勤管理系统 学生姓名 郭晨晨。学号 2013508093 专业班级 13级计科 3 班。指导教师 郭理。2013年6月6日。目录。目录 1 1.课程设计题目与要求 2 1.1 课题目的和要求 2 1.3 课题意义 2 2 总体设计 3 2...

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

c语言趣味应用 课程设计报告。设计题目学生管理系统 系别信息技术学院 班级 11网络工程 物联网方向 姓名杨浩瑞。学号 111124088 目录。1.功能描述 3 2.概念设计 4 3.详细设计 5 4.效果及存在的问题 7 5.心得 11 6.参考文献 11 本程序能简单的对学生的各项信息进行管理...