学生网上考勤管理系统毕业论文.doc
《学生网上考勤管理系统毕业论文.doc》由会员分享,可在线阅读,更多相关《学生网上考勤管理系统毕业论文.doc(27页珍藏版)》请在冰点文库上搜索。
![学生网上考勤管理系统毕业论文.doc](https://file1.bingdoc.com/fileroot1/2023-4/30/e1fd0903-f2ee-404f-83c2-62e5a7fcea93/e1fd0903-f2ee-404f-83c2-62e5a7fcea931.gif)
XXXX学院
本科毕业设计(论文)
题 目:
学生网上考勤管理系统
学生姓名:
学号:
系(部):
数学与计算机科学系专业:
计算机科学与技术
入学时间:
201 年 6 月
导师姓名:
职称/学位:
导师所在单位:
学生网上考勤管理系统
摘要
随着普通高校生源的不断增加,学生人数激增,其管理难度也越来越大,如何优化学生的日常信息管理也成为了一个大众化的课题。
所以开发一套学生网上考勤管理系统是很有必要的事情。
本系统采用vc++6.0开发,包含四个功能模块,分别是:
录入学生的缺课记录、修改学生缺课记录、查询学生缺课记录、删除学生缺课记录。
学生的缺课信息主要包含学生学号,学生姓名,专业,课程名称,缺课节数,缺课类型。
本文介绍了学生网上考勤管理系统的基本设计方法,阐述了整个应用系统的设计思路,并对各部分设计进行了详细的分析,最终达到一个完整的设计方案。
最后根据设计方案设计出系统。
关键词:
信息管理;网上考勤;vc++6.0
1
On-linestudentattendancemanagementsystem
Abstract
Withtheincreasingofcollegestudents,thesurgeinthenumberofstudents,anditsmanagementhasbecomeincreasinglydifficult,howtooptimizestudents'day-to-dayinformationmanagementhasalsobecomeapopulartopic.Soitisnecessarytodevelopastudentonlineattendancemanagementsystem.Thesystemusesvc6.0developmentconsistsoffourfunctionalmodulesare:
Inputofnon-attendancerecordsofstudentstomodifystudentabsentfromschoolrecords,querystudents'non-attendancerecords,deletestudentabsentfromschoolrecords.Studentsabsentinformationmainlyincludesstudentstudentnumber,studentname,professional,coursename,thenumberofnon-attendancesection,absenttype.
Thisarticledescribesthebasicdesignofthestudents'onlineattendancemanagementsystemoftheentireapplicationsystemdesign,andcarriedoutadetailedanalysisofeachpartofthedesign,andultimatelyachieveacompletedesignsolution.Finally,accordingtothedesignprogramtodesignthesystem.
KeyWords:
informationmanagement;Onlineattendance;vc++6.0
2
目录
摘要 1
Abstract 2
学生网上考勤管理系统 3
第一章引言 3
1.1课题来源及意义 3
1.2研究内容与目标 4
第二章开发环境和语言介绍 4
2.1MicrosoftVisualC++6.0简介 4
2.2主要特性 5
第三章系统的需求分析 5
3.1系统功能需求 6
3.2系统的性能需求 6
3.3系统数据要求 6
第四章系统的总体设计 7
4.1系统概要设计 7
4.2学生考勤管理系统中功能模块图 7
第五章系统的详细设计 8
5.1系统的模块详细设计 8
5.2 编写头文件 9
5.3 系统的详细设计 11
5.3.1学生考勤情况的录入 11
5.3.2学生考勤情况的输出显示 13
5.3.3学生考勤系统的修改功能 15
5.3.4学生考勤系统的删除功能 18
5.3.5学生考勤情况的查询 20
参考文献 25
致谢 26
第一章引言
1.1课题来源及意义
21世纪是信息化的时代,信息化以更快捷更方便为目标来融入各行各业。
学校也不能例外。
当前,我国的学校正在加紧实施信息化建设,其中学生管理是相当重要的一部分。
目前社会上信息管理系统发展飞快,各个企事业单位都引入了信息管理软件来管理自己日益增长的各种信息,学生管理系统也是有了很大的发展,商业化的学生信息管理软件也不少。
但本系统完全独立开发,力求使系统功能简洁明了,但功能齐全且易于操作。
学生网上考勤管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件,这种管理方式存在着许多缺点,如:
效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
在各大中小学校,用计算机管理学校的信息已经越来越普遍了。
用计算机不但可以提高工作效率,而且还节省了许多人力物力,增强了学校资料的安全性。
提高了学校的管理能力,为此,用计算机来管理学校的信息,是非常必要的。
1.2研究内容与目标
以一般院校的考勤管理业务为依托,结合科学管理的理论,设计并开发一个基于网络环境的学生网上考勤管理系统。
这个学生网上考勤管理系统将与学校管理系统进行信息有效集成,实现信息的流通和共享,并且能够及时、准确地将学生考勤信息反馈给学校管理人员,提供一个科学合理的考勤管理解决方案,彻底实现无纸化作业。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学生档案进行管理,具有手工管理所无法比拟的优点.例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高效率,也是学校科学化、正规化管理的重要条件。
第二章开发环境和语言介绍
2.1MicrosoftVisualC++6.0简介
VisualC++6.0,简称VC或者VC6.0,是微软推出的一款C++编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。
VisualC++是一个功能强大的可视化软件开发工具。
自1993年Microsoft公司推出VisualC++1.0后,随着其新版本的不断问世,VisualC++已成为专业程序员进行软件开发的首选工具。
虽然微软公司推出了VisualC++.NET(VisualC++7.0),但它的应用有很大的局限性,只适用于Windows2000、WindowsXP和WindowsNT4.0。
所以实际中,更多的是以VisualC++6.0为平台。
2.2主要特性
VisualC++6.0由Microsoft开发,它不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrateddevelopmentenvironment,IDE)。
VisualC++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导ClassWizard等开发工具。
这些组件通过一个名为DeveloperStudio的组件集成为和谐的开发环境。
Microsoft的主力软件产品。
VisualC++是一个功能强大的可视化软件开发工具。
自1993年Microsoft公司推出VisualC++1.0后,随着其新版本的不断问世,VisualC++已成为专业程序员进行软件开发的首选工具。
虽然微软公司推出了VisualC++.NET(VisualC++7.0),但它的应用的很大的局限性,只适用于Windows2000,WindowsXP和WindowsNT4.0。
所以实际中,更多的是以VisualC++6.0为平台。
VisualC++6.0以拥有“语法高亮”,自动编译功能以及高级除错功能而著称。
比如,它允许用户进行远程调试,单步执行等。
还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调试的程序。
其编译及创建预编译头文件(stdafx.h)、最小重建功能及累加连结(link)著称。
这些特征明显缩短程序编辑、编译及连结的时间花费,在大型软件计划上尤其显著。
第三章系统的需求分析
21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。
使原本的旧的管理方法越来越不适应现在社会的发展。
许多人还停留在以前的手工操作。
这大大地阻碍了人类经济的发展。
为了适应现代社会人们高度强烈的时间观念,学校信息管理系统软件为学校办公室带来了极大的方便。
需求分析是一个渐进的过程,通过开发人员和用户的不断交流,逐步加深对系统功能和性能的认识,并且加以细化、分解软件需求。
需求分析是软件开发过程中系统的推理过程,涉及到领域问题及其组成部分,目的在于理解需要什么和必须做什么,并将用户的需求用书面形成表达出来。
3.1系统功能需求
学生信息管理系统在管理学生中占有重要的地位,它关系着学生信息的基本信息,其中包括学生信息,班级信息、课程信息等。
对于学校来讲,学生信息管理系统是不可缺少的组成部分,它有效地管理学生档案,对学校学生的变动和统计起着重要的管理作用。
本系统根据学校管理的实际要求,结合学生信息管理的实际流程要,需实现以下功能:
1、能够对学生的有关资料进行输入,查询,修改,删除。
2、能够为学校提供强大的查询功能,以便管理人员了解和掌握学生的具体情况。
3.2系统的性能需求
为了保证系统能够长期、安全、稳定、可靠、高效的运行,学生信息管理系统应该满足以下的性能需求:
1、系统处理的准确性和及时性
系统处理的准确性和及时性是系统的必要性能。
在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足学校对信息处理的需求。
2、系统的开放性和系统的可扩充性
学生信息管理系统在开发过程中,应该充分考虑以后的可扩充性。
而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。
通过软件的修补、替换完成系统的升级和更新换代。
3、系统的易用性和易维护性
学生信息管理系统使用人员往往对计算机并不是非常熟悉。
这就要求系统能够提供良好的用户接口,易用的人机交互界面。
要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的帮助,缩短用户对系统熟悉的过程。
3.3系统数据要求
学生信心管理系统的数据需求包括如下几点:
1、数据录入和处理的准确性
数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而使系统的工作失去意义。
数据的输入来源是手工输入。
手工输入要通过系统界面上的安排系统具有容错性,从而降低出错概率。
2、数据的一致性与完整性
学生信息管理系统对数据的处理有很高的要求,因为对学生信息的处理非常频繁,所以要有一定的人员维护数据的一致性,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。
对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据。
3、数据的独立性
学生信息管理的管理对学校来说是非常重要的一个部分,不可能让每一个都对其进行操作,应该有特定的人员对学生信息管理系统进行管理,对系统进行独立操作。
第四章系统的总体设计
4.1系统概要设计
学生考勤管理系统包含四个大的功能,分别是:
录入学生的缺课记录、修改学生缺课记录、查询学生缺课记录、删除学生缺课记录。
学生的缺课信息主要包含学生学号,学生姓名,专业,课程名称,缺课节数,缺课类型。
在录入学生缺课信息时根据系统提示逐一输入。
每输入完一条信息,系统会提示是否继续输入,用户可以选择继续或返回主菜单。
在修改学生缺课信息时,用户首先输入要修改的学生学号,系统会检索如果系统中有该学生的相关信息则系统首先会提示用户修改该学生的那一部分信息,用户可自行选择。
如果系统中没有该学生的相关信息,则系统会给相关提示。
在查询学生缺课信息时,用户先输入要查询的学生学号,系统检索判断是否存在该学生的信息然后做出相应的提示。
总之,用户可以方便的在系统提示下进行使用。
在删除学生缺课信息时,用户首先输入要删除的学生学号,系统会检索如果有该学生的相关信息,则系统会提示用户删除该学生的那一部分信息,用户可自行选择。
如果系统中没有该学生相关信息,则系统会给出相关提示。
4.2学生考勤管理系统中功能模块图
学生网上考勤管理系统
删除某学生的缺课信息
修改某学生的缺课信息
查询某学生的缺课信息
录入某学生的缺课信息
删除某学生的缺课信息
查询某学生
的学号、姓名、缺课节
次、缺课课
程名称、缺
课类型
修改某学生
的学号、缺课节次、缺课课程名称、缺课类型
录入缺课学
生的学号、姓名、缺课节次、缺课课程名称、缺课类型
第五章系统的详细设计
5.1系统的模块详细设计
1、学生缺课信息录用功能模块:
录入缺课学生的学号
学生缺课信息的录入功能
录入缺课学生的姓名
录入缺课学生的专业
录入缺课学生的缺课课程
录入缺课学生的缺课节数
录入缺课学生的缺课类型
2、修改某学生缺课信息的功能模块:
修改缺课学生的学号
修改某学生的缺课信息
修改缺课学生的姓名
修改缺课学生的专业
修改缺课学生的缺课课程
修改缺课学生的缺课节数
修改缺课学生的缺课类型
3、查询某学生缺课信息的功能模块:
输入要查询的学生的学号
查询某学生的缺课信息
显示要查询的学生缺课信息
返回主菜单
4、删除某学生缺课信息的功能模块:
删除某学生的缺课信息
输入要删除的学生的学号
删除成功
返回主菜单
5.2 编写头文件
#include
#include
#include
#include
#include
constintmax=15;
classclas//班级信息基类
{
public:
voidsetc();//录用班级信息
voiddisplay();//显示班级信息
intcnum;//班级编号
intpnum;//班级人数
};
classstudent//学生信息课程类
{
public:
voidset(intb,char*s,char*l,char*c,intcno,inttype);
//传递学生信息
charcname[5],sname[5],lname[5];
//定义缺课课程名称,学生称名,学生类别名称
intsnum,cno,type;
//定义学生学号,缺课节次,缺课类型
};
classrecords:
publicstudent,clas//实现学生信息和考勤情况操作的类
{
public:
records()//构造函数
{
r=newstudent[max];//动态建立两个基类对象数组,返回两个对象指针
p=newclas[max];
}
voidinput();//录用学生课程考勤信息
voidwt(int&i);//信息以文件的形式保存
voidrd();//信息以文件的形式读出
voidpri();//显示学生课程考勤信息
voidsearch();//查询学生考勤信息
voiddel();//删除学生考勤信息
voidedt();//修改学生考勤信息
voidwdt(int&n);//修改信息以文件的形式保存
student*r;//声明两个对象指针
clas*p;
staticintn;//n为静态变量记录创建对象的个数,
};
intrecords:
:
n=0;
5.3 系统的详细设计
5.3.1学生考勤情况的录入
进入系统后,首先按2选择“录入学生的缺课记录”功能,然后按照输入格式输入学生的缺课记录,直到输入结束。
每输入一条记录都要保存,不然无法记录该学生的考勤情况。
其主要代码如下:
voidrecords:
:
input()//学生考勤系统的录用模块
{
for(inti=0;i<100;i++)
{
chart1[5],t2[5],t3[5];//创建字符数组保存输入的学生信息和课程
intt4,t5,t6;
charyn;
cout<<"录入一条学生详细考勤记录:
"<cout<<"输入学生的学号,学生的姓名,专业,缺课课程,缺课节次和缺课类别(1.迟到2.早退3.请假4.旷课)。
"<cin>>t4>>t1>>t2>>t3>>t5>>t6;
records:
:
n++;
cout< r[i].set(t4,t1,t2,t3,t5,t6);
cout< chary;
cout<<"保存?
(y/n)"< cin>>y;
if(y=='y')wt(i);
cout<<"是否继续输入?
(y/n)"<cin>>yn;
if(yn=='y')continue;
elsebreak;
}
}
5.3.2学生考勤情况的输出显示
进入系统后,首先按下1选择“显示所有学生缺课记录”,然后就会显示出文件内的内容,如果没有内容,就会显示“------文件记录为空----”的提示。
有记录的显示如图:
无记录的显示如图:
其主要代码如下:
voidrecords:
:
pri()//学生考勤系统显示模块
{
if(n==0)
{
cout<<"------文件记录为空----"< return;
}
cout<<"学号\t姓名\t专业\t缺课课程\t,缺课节次\t缺课类别(1.迟到2.早退3.请假4.旷课)。
"< for(inti=0;i {
cout< cout< cout< cout< cout< switch(r[i].type)//缺课信息以整形数据保存,以字符输出
{
case1:
cout<<"迟到"< case2:
cout<<"早退"< case3:
cout<<"请假"<
case4:
cout<<"旷课"< default:
;
}
}
}
5.3.3学生考勤系统的修改功能
进入系统后,首先按下3选择“查询某个学生的缺课情况”,查询所要修改的学生的记录是否正确,如果不正确,就按下y返回“功能列表”,再按下4选择“修改某个学生的缺课记录”,然后输入要修改缺课记录的学生的学号,再要修改的内容,最后保存返回功能列表,然后再查询是否修改成功。
查询所需修改的学生的记录情况:
修改该学生所需修改的项目:
查询是否修改成功:
其主要代码如下:
voidrecords:
:
edt()//学生考勤系统修改模块
{
cout<<"请输入要修改缺课记录的学生的学号:
"< intt1,t5,t6;
inttnum,flag=1,km,i;
chart2[5],t3[5],t4[5];//创建字符数组保存输入的学生信息和课程
cin>>tnum;
for(i=0;i {
if(r[i].snum==tnum)
{
cout<<"有您