




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科毕业论文(设计、创作)题 目: 基于指纹识别的校园考勤系统设计 学生姓名: 学号: 所在系院: 信息与通信技术系 专业: 电子信息工程 入学时间: 2010 年 9 月导师姓名: 职称/学位: 讲师/博士 导师所在单位: 完成时间: 2014 年 5 月安徽三联学院教务处 制安徽三联学院毕业论文基于指纹识别的校园考勤系统设计摘 要:校园内学生和工作人员众多,考勤方面一直是很多学校的一大难题。本文研究的内容是让指纹识别技术走进校园考勤管理系统,并通过指纹识别来完成这个目标。对大量企业的指认识别考勤系统进行分析,使这个校园考勤系统更加稳定和安全。指纹识别技术的出现很好的解决了这个问题。要完成校园考勤系统,需要对指纹识别技术有所认识,要保障考勤系统运作的稳定和安全需要从两个方面,分别是硬件和软件。要制定合理有效实用的校园考勤方案,需对每一位学生和员工的指纹进行采集,并将采集的指纹建立一个数据库,方便日后进行身份识别时对比认证。校园用指纹识别进行考勤管理,这个方案能代替以往老式的考勤方法,彻底杜绝代签到的不良现象,对校园的考勤有着巨大的作用。关键词:校园;考试;指纹Design of campus attendance system based on fingerprint IdentificationAbstract:Many students and staff on campus, attendance has always been a big problem to many schools.The research contents of this paper is to make the fingerprint recognition technology into the campus attendance management system, and to accomplish this goal by fingerprint identification.Analysis, to identify a large number of enterprises to identify attendance system, make the school attendance system is more stable and safe.The emergence of fingerprint identification technology is very good solve the problem.To complete the system of check on work attendance in schools, need to recognize the fingerprint identification technology, to ensure the stability of the system of check on work attendance and safety need from two aspects, respectively is the hardware and software.To formulate rational and effective practical school attendance, for every student and staff of fingerprint collection, and will build a database collection of fingerprints, convenient for identities in the future when compared to certification.Campus with fingerprint attendance management, this scheme can take the place of old-style method of check on work attendance, completely eliminate issuing to the unhealthy phenomenon, has a huge role on school attendance.Keywords: campus; exam; fingerprint1目 录第一章 绪 论11.1 研制背景11.2 课题研究的主要内容21.3 本文的主要工作2第二章 指纹识别的基本原理32.1 指纹识别系统的工作原理32.2 指纹识别系统的工作模式5第三章 指纹识别考勤系统的设计63.1系统功能需求63.1.1 系统体系结构63.1.2 系统功能模块设计63.2 数据流程图73.3 系统结构图93.4 系统流程图10第四章 数据库设计134.1 数据库概述134.2 数据流图134.3 数据需求分析144.4 数据库逻辑结构设计144.5 数据库表的建立144.6 系统思路14第五章 系统实现165.1 开发平台及系统配置165.2 开始界面的制作165.3 系统主要功能实现165.3.1 指纹图象采集功能的实现165.3.2 指纹比对算法的功能实现165.3.3 系统管理功能的实现195.3.4 考勤结果分析功能的实现22第六章 系统测试246.1 测试的目的246.2 用例测试246.3 测试结果25结论26致谢27参考文献28I第一章 绪 论1.1 研制背景 由于通讯技能与网络的飞速普及发展,如今社会对于人类自己的身份识别的要求要变的更高.以前古板老套的法子早已满足不了人们对这一方面的需求,所以要探索一种新的身份识别方式使之更为安全方便。在这样的背景下,生物识别的技术悄然兴起,并成为一种新的身份识别技术。生物识别技术就是一种可以利用人体生物上的唯一差别来进行身份认证的技术。生物的特征拥有独一性,其中分行动和生理特征可以进行识别和测量。生物识别系统将生物中特有的性质提取出来并将这些特性转换成唯一的代码,把这些代码组成特性样本。这些模板将存储在数据库中,为以后身份识别时,将待验证的生物特征与这些模板对比,看是否匹配,如果匹配则接受该生物的信息,若不匹配则拒绝。 生物识别技术所具有的安全性和方便性是以往古老的钥匙,智能卡,密码之类的方法不可比拟的。因为这种方法是运用生物特有的性质,所以对比与以往的认证方法更安全和便捷。像钥匙,智能卡,密码之类的都可以进行伪造和假冒,而生物特征则不会,它所具有的唯一性和稳定性是不可替代的。并且生物识别技术可以和电脑通讯技术和网络结合起来,更方便有效的管理和监视整个系统的运行,对比以往的人脑管理有着更为准确稳定的优势。 目前在生物识别这一类高新技术领域中有很多种方法,其中最为人们所关注的是利用指纹的唯一性来进行的识别技术,并且这种技术在目前的科技发展状况来看是最为成熟和广泛利用的一种生物识别技术。 这些年,国内国外的科研人员对指纹识别这项技术做了大量深入的研究,在这一领域取得了较好的成绩,并在人事考勤方面取得了巨大的进展。使指纹识别技术成为许多企业单位内部人事考勤制度的最重要的组成因素。不可假冒和伪造的指纹识别技术令员工对公司的考勤管理制度感到公平和合理,这对员工们的积极性和公司的形象有着很大的帮助。如今任然有很多公司用的是磁卡密码之类的考勤方式,虽然有一些作用,但这些方式存在着很多问题,比如磁卡丢失,磨损,借用,忘带等,叫人代打卡的现象也不可避免的会发生,这些问题的发生,令考勤和管理上存在先天性的漏洞。 每个人的指纹都具有永远不变和每个人都不一样的两个特征,这些特征让企业的人事管理更为有效科学,为公司省去了很多在人事考勤上的人力财力。每天只需在指纹识别仪器上轻轻一按,就能完成一次身份识别,为员工提供了大量的便捷。1.2 课题研究的主要内容 本文研究的内容是让指纹识别技术走进校园考勤管理系统,并通过指纹识别来完成这个目标。对大量企业的指认识别考勤系统进行分析,使这个校园考勤系统更加稳定和安全。校园内学生和工作人员众多,考勤方面一直是很多学校的一大难题。指纹识别技术的出现很好的解决了这个问题。要完成校园考勤系统,需要对指纹识别技术有所认识,要保障考勤系统运作的稳定和安全需要从两个方面,分别是硬件和软件。 要制定合理有效实用的校园考勤方案,需对每一位学生和员工的指纹进行采集,并将采集的指纹建立一个数据库,方便日后进行身份识别时对比认证。校园用指纹识别进行考勤管理,这个方案能代替以往老式的考勤方法,彻底杜绝代签到的不良现象,对校园的考勤有着巨大的作用。1.3 本文的主要工作 目前在社会上运用的两类指纹识别考勤系统分别是嵌入式和电脑应用系统结合。链接电脑应用系统可以建立起巨大的指纹数据库,在整个局域网内的电脑终端共享数据库内的指纹信息,这对整个系统的灵活运作有很大的优势。嵌入式的考勤系统则是不需要介入电脑和其他设备就能可以独立运作的完整的系统。对比于上述系统其功能被限制比较单一,可完成特定的功能。本文研究的主要包括以下内容: 第二章介绍了指纹识别技术的原理,系统的分类。 第三章提出了基于指纹识别考勤系统的设计。 第四章阐述了考勤管理系统后台数据库的设计。 第五章阐述了考勤管理系统的实现。第二章 指纹识别的基本原理2.1 指纹识别系统的工作原理 一般来讲,校园考勤指纹识别系统的算法可分为五个部分,分别是指纹采集图像输入数据库;对图像进行预处理;将处理过的图像提取其特征值;对比特征值;对比指纹。如图2-1所示:指纹图像输入预处理特征提取特征比对结果输出图2-1 指纹识别系统框图1)指纹图像输入 目前指纹采集设备可分为光电式、电感式、电容式、光学采集。其中,出现任然被大多数指纹识别采集设备运用的是光电式,但所采集的指纹质量不是很好。电感式和电容式的指纹采集设备对指纹的采集质量有所提高,但还是存在一些问题,如采集指纹的稳定性和指纹采集头的耐磨性。因客观因素而不宜采集的指纹还能进行准确和可靠的采集,是需要解决的主要问题。光学采集头的出现很好的解决了这个问题。它对以往的采集设备进行改进优化,所以其性能和价格是电感式和电容式所不能比拟的。 光学采集技术是用光的全反射,运用光线对指纹进行采集。光线照到手指上,手指指纹上的谷和脊对光线反射的量有影响,从而形成指纹的图像。当光线通过玻璃射到指纹谷的位置是会发生光的全反射,当光线射到脊的位置是则不会,这样就能将指纹上的谷和脊区分开来,从而形成指纹图像。2) 预处理 一般来讲,刚采集到的指纹图像会存在一定的噪声,影响指纹的质量。通过预处理,可以将刚采集到的指纹图像转换成线条二值图像,二值图像相对于指纹灰度图像在指纹中心点选取和特征值提取有很大的帮助。所以对指纹采集仪器刚采集的指纹图像进行初步的预处理是整个校园指纹考勤系统系统中不可缺少的一项步骤。进过电脑预处理过指纹二值图像能更准确和快速的将指纹特征提取出来。预处理的整个过程如图2-2所示:预处理预滤波方向图方向滤波二值化细化图2-2 预处理框图3) 特征提取 指纹的特征点分为局部特征和全局特征。指纹的细节特征可分为一百五十多种,但有的是很罕见的,所以出现的几率不一样。一些专家认为,只需要十三个细节特征相同,就能确定是同一个手指的指纹。但根据情况的不同,所需要对比的指纹特征点的个数也会不一样。一般的指纹识别技术运用中只考虑其中的两种特征点的对比,分叉点和纹线端点。纹线分叉点则是纹线突然一分为二的位置,而纹端点指的是纹线突然结束的位置。这两个特征点经过很多的研究发现时众多特征点中出现几率最多也是最稳点的两个特征点,并且这两个特征点对指纹的特有性足以描述,只要这两个特征点吻合,这能确定是同一个手指的指纹。并且这两个特征点利用现有的指纹采集设备很容易就可以获取。4) 指纹分类 为了减少指纹搜索的区域,提高指纹对比的速度,将指纹在数据库中进行分类很有必要。指纹分类的越多越细,可以大大减少数据库中指纹的样品个数,进行指纹识别时所需对比的样品个数所花费的时间会大大缩小。5) 指纹比对 指纹对比是通过对指纹特征点的位置和关系来确定是否为用一个手指的指纹。将待确认的指纹与数据库中的指纹样品进行一一对比,主要看起特征点的相识度,纹线方向来确定。因为指纹在采集的过程中可能存在主观和客观等因素,使所采集的指纹与数据库中的指纹有些细小的差别,指纹信息也会有所不同。所以指纹对比的过程是一种模糊的对比过程。2.2 指纹识别系统的工作模式 指纹识别过程可分为两种不同的模式:已知是该人来对比验证是否为该人的验证模式和只知道指纹来确定是何人指纹的辨识模式。验证模式需要数据库中有待识别指纹的信息,并将该指纹信息与指纹者绑定起来,只要待验证指纹者输入指纹就可以与数据库中的那枚指纹样品进行对比验证,若匹配,则是同一人,若不匹配则不是。验证模式过程如2-3所示:指纹库6用户指纹指纹特征值指纹特征值比对用户ID登记图2-3 指纹验证过程 识别模式就是指纹信息没有与指纹者绑定,现场采集过指纹后与指纹库中的众多指纹一一对比,若有相同的,则匹配,没有相同指纹的则不合法。辨识过程如图2-4所示:用户ID比对指纹库指纹特征值用户指纹指纹特征值用户ID6登记图2-4 指纹辨识过程第三章 指纹识别考勤系统的设计3.1系统功能需求3.1.1 系统体系结构 本文设计研究的校园指纹考勤管理系统是结合指纹采集设备和电脑局域网实现对校园内学生和员工的考勤管理。在设计上基本遵循了以下几点:可靠性:可靠性是整个应用系统的基础。系统的可靠性是通过指纹采集设备和程序软件两方面来实现。综合性:系统基于学生的基本信息管理,考勤方案等。与以前老式的考勤系统融为一体,学生只需在指纹采集仪器上输入自己的指纹就能查询到天,月,学期的考勤情况。如出现问题则可以与管理人员提出并修改。先进性:本系统采用的是最先进的光学采集头作为采集设备,所以只需存入数据库中的指纹信息正确,就能在以后每一次考勤过程中确保与该人的信息一致。与以往的方式对比有很大的优势,整个系统的先进性不言而喻。3.1.2 系统功能模块设计 基于指纹识别的校园考勤系统是所有学生的指纹信息从入学时进行采集,并将采集到的指纹信息存入到学校指纹数据库中。以后学生在现场进行考勤签到时会与数据库中为指纹自动对比验证,以确定当前按压指纹学生的信息。软件功能模块示意图如3-1所示:指纹数据库指纹识别考勤系统统计结果显示指纹图象采集处理指纹比对算法考勤管理图3-1软件总体功能结构图 学生在现场进行考勤时,在指纹采集设备上按压手指输入指纹是指纹图像采集模块。指纹采集仪器模块将收集到的学生指纹进行预处理并转换成二值图像,提取其指纹特征点。学生输入指纹的时间作为考勤需要的数据。但采集到的指纹质量会影响其与数据库中指纹对比的速度,所以指纹采集设备的可靠,质量十分重要。 指纹比对算法模块是将提取出的指纹与校园指纹数据库中的指纹进行识别,对比的算法。进而核实学生身份。 管理模块是后台管理人员对学校上下课考勤参数,学生的年级,专业考勤情况,特殊考勤情况的数据进行统一管理。该模块允许系统管理员进行系统设置。系统设置是学生每次上下课按压指纹的有效时间,定义时间段外一段时间内为迟到和早退,超出时间段内任未有指纹信息的为旷课。管理人员可根据学校的情况来定义上下课时间,早退,迟到旷课等时间段。3.2 数据流程图 为了处理学生在校园内进行指纹识别考勤的数据,并将这些原始的数据保存在校园的数据库中,方便学生用电脑对自己考勤信息的查询和后台工作人员的管理,必须设计出数据流程图。 校园指纹考勤系统开始启动,最初是整个考勤系统的初始化,包括之前设置过的上下课时间段,各个学生信息等系统模块全部还原成初始值。然后校园内指纹采集仪器运作,若没有学生按压指纹,则采集仪器进入待机状态。学生使用指纹进行登录后,系统将收集到指纹与校园指纹数据库中指纹进行比对,经过识别后,如果该学生的指纹在数据库中有想匹配的指纹,则系统显示登录成功,如果没有此指纹信息则语音提示重新输入指纹。学生对系统显示出自己的个人信息进行确认,确认无误后提交此次考勤,并由系统将此次考勤记录。 待所有学生完成考勤登陆后,系统将自动退出,如图示3-2:开始系统初始化否指纹采集器是学生输入指纹不存在输出出错信息比对存在新指纹添加进数据库中显示学生信息学生确认否否输入管理员密码是是记录信息添加信息存在下个学生进行输入指纹不存在退出系统图3-2 指纹识别系统流程图3.3 系统结构图考勤系统设置如图3-3所示:学生信息浏览正常出勤旷课资料设定考勤制度设置请假资料设定考勤人员设置考勤考勤处理统计查询考勤记录查询图3-3 系统结构图 学生信息浏览:该模块可以浏览学校学生的基本信息,可以按班级,姓名,指纹进行查询,按班级,姓名,指纹导出数据。 上课:在设定的上课时间之前,到上课时间为止所登陆的指纹为正常上课。 下课:在下课时间之前正常登陆指纹的作正常下课。 早退:在上课时间段为到下课时间这一时间点范围内进行指纹登陆的算作早退处理。 迟到:设定从上课后的一段时间内登陆指纹的算作迟到。 请假设置:对辅导员允许请假的学生进行登记,并记录下时间和请假理由。若此段时间没有学生的请假信息和指纹登陆情况的算作旷课处理。3.4 系统流程图 启用校园考勤系统后,系统会让学生输入自己的指纹信息,如果匹配成功则进入系统,如果匹配失败则返回指纹登陆界面。 系统的主界面有五个区域,为后台管理人员提供五个不同的功能: 设置:后台管理人员可以在这个区域内对每天上午,中午,下午的上下课的时间进行设置,并将设置好的时间保存起来,以便下次使用。 出勤记录:后台管理人员可以在此区域中对正常出勤记录,迟到记录,旷课记录等进行编辑,然后把数据上传到学校的数据库中。 统计:后台管理人员在这个区域中可以对每个学生每一天的考勤情况进行统计并保存到学校的数据库中。 退出:管理人员退出系统。 指纹识别校园考勤系统的流程图如3-4所示:指纹登陆考勤系统 重新登录,提示错误成功进入主界面考勤管理软件主界面:设置,出勤记录,统计,重新登录,退出。按下“出勤记录”按钮按下“统计”按钮按下“重新登录”按钮按下“退出”按钮按下“设置”按钮“考勤统计”对话框回到“用户登录”对话框退出该考勤管理系统“考勤修改”对话框“上下课时间设置”对话框对“考勤统计”该页面进行编辑分别对“考勤修改出勤记录”,“请假记录”进行编辑对一天上午,中午,下午的出勤时间进行修改将该页面的操作结果保存到数据库当中分别把编辑好的数据保存到数据库当中将修改的时间记录以*.ini的形式保存,下次将调用该文件的时间图3-4 系统流程图第四章 数据库设计4.1 数据库概述 现如今,数据库的技术发展飞快,对数据库的应用和开发也越来越了解。方今最为受大家喜欢使用的数据库管理开发系统是微软的SQL server。SQL server提供了很多使用的管理和开发工具,使用它们可以方便的对数据库精心维护和管理。本文研究的校园指纹考勤系统的数据库开发和实现就是利用QL server。整个校园考勤系统都是用SQL语言编程,提高通用性,并且使后台数据库可以采用数种数据库系统,能为学生提供自己喜欢的操作系统。 为了防止以后学校的学生越来越多,数据库的建立也越老越大,所以使用SQL server是明智之选。4.2 数据流图 学生出勤记录来自系统,并保存在数据库中。本文所论述的校园考勤系统所要做的就是如何对待这些数据。校园指纹考勤系统的数据流图如图示4-1:登陆指纹请假,旷课辅导员学生审批记录出勤时间出勤记录上下课请假记录考勤管理员月度学生考勤统计表各种统计信息管理人员图4-1 数据流图 在本校园指纹考勤管理系统中,学生上下课依据所登陆的指纹来辨别每个学生的身份,校园考勤系统会自动保存学生的登陆指纹的时间,并记录下出勤数据的信息;当学生有请假时必须通过辅导员审批,辅导员审批通过后,考勤系统后台管理人员将该学生的请假信息保存,此外后台管理人员也可以根据学校的实际情况来设置上下课的时间安排。以上各种信息经过管理员的统计导出月度学生考勤统计表。4.3 数据需求分析 根据数据流图,可以列出以下数据项和数据结构:l 出勤记录:各个学生号的指纹登记情况和指纹登记时间。l 月度考勤统计:每个学生号当月上课情况,累计迟到次数,旷课次数,请假次数,早退次数。l 请假记录:每个学生号姓名请假的时间和天数,请假的理由。l 学生信息:学生ID、学生指纹、密码、权限、姓名、班级等l 班级设置:班级编号、名称等4.4 数据库逻辑结构设计 数据库应该存储什么样的数据信息是建立数据库时最需考虑到的首要目的。为此要考虑到校园指纹考勤管理系统数据库中所存储的数据的用途和目的,为了以后在考勤过程中能更快速准确的提取出数据库中有用的信息。4.5 数据库表的建立 在数据库中存储数据时制作表格的方式最为恰当,它是每一行每一列都能作为数据库中存储的基本单位。这些基本单位能将所有需要存储的数据按照行和列的方式井然有序的排列组织起来。表格中的每一行都能表示特定的记录,每一列都能代表记录中的一个类别。 在本校园指纹考勤系统中需要在数据库中创建表以便保存考勤信息数据。制作表格时最好的办法是将数据和成分一次性统一规划好写在表格内。或亦可创建一个大纲,在大纲内划分一个个小的表格,向这个小表格内添加数据,待完成后在融合起来。l 班级表:包括班级位置,系别,班级辅导员,学生号,号码。l 正常上下课时间表:学生ID,学生信息,上班时间,下课时间,原因。l 学生信息表:学生指纹,姓名,性别,班级,手机号码,专业。l 月度统计表:学生ID,年月,学生信息,上课天数,请假天数,迟到时间,早退时间,旷课时间。4.6 系统思路 整个校园考勤管理系统可分为学生考勤和后台管理两类。因为用户签到和和管理在功能上是相对独立的,用户在使用时一般不会一起使用。所以可以将这两个模块分为两个不同区域,在登陆界面输入指纹时决定进入哪个模块。这样就可以轻松的进行考勤者和管理者的工作。第五章 系统实现5.1 开发平台及系统配置软件:Windows xp sp2、VC+6.0硬件:PC计算机 指纹识别器:中控科技指纹采集器5.2 开始界面的制作 用户在此界面进入校园考勤管理系统需要的使用自己的指纹进行登陆。系统匹配成功后会出现校园考勤系统的组要界面,包括“设置”,“出勤记录”,“统计”,“重新登录”,“退出”五个功能组成。5.3 系统主要功能实现5.3.1 指纹图象采集功能的实现指纹考勤系统在使用时需要注意以下几点:l 要随时保持光电指纹采集头的干净,若有汗渍,油污等不干净的东西要及时清理。擦拭时不可用较为硬的纸张和布,应该用柔软不会伤害采集头的镜头纸擦拭。避免故意旋转挤压和用力按压,并注意不要使指甲划到镜头表面。l 在按压手指进行登录时,应注意用质量好的手指进行识别。质量好的指纹表面无大面积的伤痕、无大面积褪皮、纹线清晰、褶皱少等。手指中比较好的是食指,拇指和中指,登录起来也比较方便。l 按压指纹时,不可过度用力,这样会损坏采集头。也不可长时间按压。轻轻用力,让手指的指纹尽可能多的接触指纹采集头,这样采集出来的指纹的质量才会好,能更快的与数据库中指纹对比和识别。5.3.2 指纹比对算法的功能实现 因为电脑只能辨别数字图像,所以指纹对比算法在本文研究的校园指纹考勤管理系统中很重要。所采集到的指纹质量会直接影响到辨别的准确性和系统的反应速度,这样才能更好的提高考勤的效率。 指纹对比工作需要学生先将指纹存储在校园的指纹数据库中。而数据库的建立,需要对学生的同一个手指的指纹采集四个左右的样本,再对这些样本进行处理,提取出指纹中的特征点,这些特征点之间的相互关系与数据库中的图形进行匹配,得出最后的辨别结果。校园考勤系统指纹比对算法有两个重要的影响参数,主要有误识率和拒真率。如图示5-2:指纹特征值用户指纹指纹特征值指纹库比对用户ID图5-2 指纹比对算法过程图 由于电脑处理识别指纹的过程中存在一定的误识率,所以指纹匹配的过程也不能保证是一定准确的。指纹比对代码实现:BOOL CZKFPEngX:VerFinger(VARIANT* regTemplate, const VARIANT& verTemplate, BOOL ADoLearning, BOOL* ARegFeatureChanged)BOOL result;static BYTE parms =VTS_PVARIANT VTS_VARIANT VTS_BOOL VTS_PBOOL;InvokeHelper(0x8, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,regTemplate, &verTemplate, ADoLearning, ARegFeatureChanged);return result;void CDemoDlg:OnOnCaptureZkfpengx2(BOOL ActionResult, const VARIANT FAR& ATemplate) long fi; long Score, ProcessNum; BOOL RegChanged; char buffer80; SetDlgItemText(IDC_EDHint, 取得指纹特征模板); if (FMatchType = 1) if (m_zkfp.VerFinger(&FRegTemplate, ATemplate, FALSE, &RegChanged) MessageBox(指纹比对成功!); else MessageBox(指纹比对失败!); else if (FMatchType = 2) /1:NScore = 8;fi = m_zkfp.IdentificationInFPCacheDB(fpcHandle, ATemplate, &Score, &ProcessNum); if (fi = -1) MessageBox(指纹比对失败!);else sprintf(buffer, 指纹比对成功!Name = %s Score = %d Processed Number = %d, FFingerNamesfi, Score, ProcessNum); MessageBox(buffer); 5.3.3 系统管理功能的实现 学生在输入指纹得到认可后就可以登录到校园考勤管理系统。“设置”实现代码如下:void CXieyuyingDBDlg:OnBtnConfig() CWorkplanDlg dlg;dlg.DoModal();图5-3中的“出勤记录”代码实现如下:void CXieyuyingDBDlg:OnBtnRecord() if(!m_pAttDlg) / 指针为空,创建对话框 m_pAttDlg=new CAttDlg();m_pAttDlg-Create(IDD_DLG_XieyuyingDB, this);m_pAttDlg-ShowWindow(SW_SHOW);else / 对话框已创建m_pAttDlg-ShowWindow(SW_SHOW); / 显示窗口 后台管理人员可以对上下课的时间进行设置修改。上下课时间的设置根据学校的具体实际情况来确定。“修改”实现代码如下:void CWorkplanDlg:OnWorkplanModify() CString strFileName=.workplan.ini; / INI文件名UpdateData(); / 更新数据WritePrivateProfileString(WorkPlan, Time1,m_Time1.Format(%H:%M:%S), strFileName);WritePrivateProfileString(WorkPlan, Time2,m_Time2.Format(%H:%M:%S), strFileName);WritePrivateProfileString(WorkPlan, Time3,m_Time3.Format(%H:%M:%S), strFileName);WritePrivateProfileString(WorkPlan, Time4,m_Time4.Format(%H:%M:%S), strFileName);WritePrivateProfileString(WorkPlan, 书名,m_wenben, strFileName);“按条件检索”实现代码:void CPage1:OnBtnSeekio() CXieyuyingDBRS rs(&db); / 构造出勤记录表CAttDlg *pDlg; / 指向包含本对象的CAttDlg的指针CString strFilter; / 用于保存过滤字符串CString strSTime,strETime; / 起始,结束时间pDlg=(CAttDlg*)GetParent()-GetParent(); / 得到指针pDlg-UpdateData(); / 更新数据strSTime=pDlg-m_StartTime.Format(%Y-%m-%d);strETime=pDlg-m_EndTime.Format(%Y-%m-%d);if(pDlg-m_bSeekbyperson) / 判断是否根据学生号检索strFilter=PERSON= + pDlg-m_strPersonID + ; / 添加过滤条件if(pDlg-m_bSeekbytime) / 判断是否有时间范围 if(strFilter.GetLength()0) / 判断是否已有过滤条件strFilter += and ; /如果是,需要添加and连接符strFilter += IO_TIME + strSTime + ; / 添加开始时间过滤strFilter += and IO_TIME0) / 判断是否有过滤条件rs.m_strFilter=strFilter; / 设置FilterUpdateList(rs); “添加”实现代码如下:void CPage2:OnBtnOvertimeAdd() int counter; / 用于保存计数CCounterRS rs_counter(&db); / 构造计数器记录表UpdateData(); / 更新数据if(m_strPersonName.IsEmpty() return; / 判断学生号是否正确rs_counter.m_strFilter = ID=O; / 设置过滤器,提取计数值rs_counter.Open(); / 打开计数器记录表counter=rs_counter.m_COUNTER_VALUE; / 提取计数值counter+; / 计数值加1rs_counter.Edit(); / 编辑计数器rs_counter.m_COUNTER_VALUE=counter; / 保存当前计数rs_counter.Update(); / 提交修改rs_counter.Close(); / 关闭计数器记录表COvertimeRS rs_overtime(&db); / 构造记录表rs_overtime.Open(); / 打开表rs_overtime.AddNew(); / 新增一项记录rs_overtime.m_ID=counter;rs_overtime.m_PERSON=m_strPersonID;rs_overtime.m_WORK_HOURS=m_nHour;rs_overtime.m_WORK_DATE=m_Date;rs_overtime.Update(); / 更新数据库rs_overtime.Close(); / 关闭记录表UpdateList(rs_overtime); / 更新列表框图5-7中“保存”实现代码如下:void CPage2:OnButton1() CString strFileName=.workplan.ini; / INI文件名UpdateData(); / 更新数据/CString m_cList;CString str1,str2,str3,str4;str1 = m_cList.GetItemText(0, 0);WritePrivateProfileString(WorkPlan, 书名,str1, strFileName);str2 = m_cList.GetItemText(0, 1);WritePrivateProfileString(/tWorkPlan, 书名,str2, strFileName);str3 = m_cList.GetItemText(0, 2);WritePrivateProfileString(WorkPlan, 书名,str3, strFileName);str4 = m_cList.GetItemText(0, 3);WritePrivateProfileString(/tWorkPlan, 书名,str4, strFileName); “添加”实现代码如下:void CPage3:OnBtnLeaveAdd() int counter; / 用于计数CCounterRS rs_counter(&db); / 构造计数器记录表UpdateData(); / 更新数据,记录编号rs_counter.m_strFilter = ID=L; / 设置过滤器,提取计数值rs_counter.Open(); / 打开计数器记录表counter=rs_counter.m_COUNTER_VALUE; / 提取计数值counter+; / 计数值加1rs_counter.Edit(); / 编辑计数器rs_counter.m_COUNTER_VALUE=counter; / 保存当前计数rs_counter.Update(); / 提交修改rs_counter.Close(); / 关闭计数器记录表,添加记录int nYear,nMonth,nDay,nHour,nMinute; / 年,月,日,时,分sscanf(m_strSTime.Left(4), %d, &nYear); / 得到年sscanf(m_strSTime.Mid(5,2), %d, &nMonth); / 得到月sscanf(m_strSTime.Mid(8,2), %d, &nDay); / 得到日sscanf(m_strSTime.Mid(11,2), %d, &nHour); / 得到时sscanf(m_strSTime.Mid(14,2), %d, &nMinute); / 得到分/ 得到起始时间CTime S_time(nYear,nMonth,nDay,nHour,nMinute,0);/ 转换结束时间类型sscanf(m_strETime.Left(4), %d, &nYear); / 得到年sscanf(m_strETime.Mid(5,2), %d, &nMonth); / 得到月sscanf(m_strETime.Mid(8,2), %d, &nDay); / 得到日sscanf(m_strETime.Mid(11,2), %d, &nHour); / 得到时sscanf(m_strETime.Mid(14,2), %d, &nMinute); / 得到分/ 得到结束时间CTime E_time(nYear,nMonth,nDay,nHour,nMinute,0);CLeaveRS rs_leave(&db); / 构造请假记录表rs_leave.Open(); / 打开请假记录表rs_leave.AddNew(); / 追加请假记录rs_leave.m_ID=counter;rs_leave.m_PERSON=m_strPersonID;rs_leave.m_START_TIME=S_time;rs_leave.m_END_TIME=E_time;rs_leave.m_REASON=m_strReason;rs_leave.Update();rs_leave.Close(); / 关闭请假记录表UpdateList(rs_leave); / 更新列表框5.3.4 考勤结果分析功能的实现 后台管理人员员可以通过这个模块对每个学生的各个时期的考勤情况进行统计。校园考勤统计可分为月度统计,检索条件和记录列表三部分。同样,进度条将显示统计的进度。检索条件和“检索”按钮用于快速定位录,便于学生查询和后台管理人员修改。 “统计”实现代码如下:void CStatDlg:OnStatBtnStat() CRecordset rs_Q_attend(&db); / 构造Q_attend记录集CRecordset rs_Q_leave(&db); / 构造Q_leave记录集CRecordset rs_Q_errand(&db); / 构造Q_errand记录集CTimeSpan tp_1(1,0,0,0); / 构造一个1天的CTimeSpanCTimeSpan
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 内蒙古呼伦贝尔农垦集团有限公司招聘笔试题库及答案详解(名校卷)
- 教师招聘之《小学教师招聘》综合练习附参考答案详解【研优卷】
- 2025年内蒙古呼伦贝尔农垦牙克石莫拐免渡河农牧场有限公司招聘笔试参考题库附答案详解(黄金题型)
- 教师招聘之《幼儿教师招聘》考前冲刺训练试卷附参考答案详解【b卷】
- 教师招聘之《小学教师招聘》考试押题密卷附答案详解【培优b卷】
- 教师招聘之《幼儿教师招聘》考前冲刺练习题及参考答案详解(培优)
- 2025年教师招聘之《小学教师招聘》练习题包含答案详解【培优b卷】
- 2025年教师招聘之《幼儿教师招聘》题库及答案详解(网校专用)
- 2025年教师招聘之《小学教师招聘》题库检测试卷及完整答案详解(典优)
- 教师招聘之《小学教师招聘》检测卷讲解【夺分金卷】附答案详解
- 医疗损害责任界定-洞察及研究
- 2025年海南省社区工作者招聘考试笔试试题(含答案)
- (2025年标准)监控维护维修协议书
- 国务院部署实施“人工智能+”行动的意见解读
- 2025海南省通信网络技术保障中心招聘事业编制人员(第2号)考试备考题库及答案解析
- 2025年全国中学生天文知识竞赛考试题库(含答案)
- 咸味香精基础知识培训课件
- 2025年人工智能训练师(三级)职业技能鉴定理论考试题库(含答案)
- 2025年发展对象考试题库附含答案
- 九年级英语全册单元测试题全套带答案(人教版新目标)
- 城市轨道交通安全管理课件(完整版)
评论
0/150
提交评论