基于MFC的考试管理系统
该资源详细的讲解了怎样开发考试管理系统的步骤以及有大部分的代码资源。有利于学习开发、对照有关的系统开发。目录摘要…ABSTRACTII目录II第I章引言1开发背景…误!未定义书签。112选题意义误!未定义书签。113研究内容第2章系统的相关技术介绍…21MFC简介22 SQL SERVER2000简介423ODBC简介24 CRECORDSET类和 CRECORDVIEW类简介+“++++++++4+++25 POWERDESIGNER1简介24本章小结第3章系统的分析与设计.··中·“·::···········:··················“···:··*······3.1需求分析32系统设计321概要设计…非着丰非非目非非自83.2.2系统总体流程图…323系统模块设计,…324菜单设计.103.3本章小结…11第4章数据库设计4I数据库的需求分析124.2数据库表设计4.3数据库建表语句1344本章小结…19第5章系统实现205.1登录模块实现*····-··········*·=·····205.2基本信息模块实现1面错误!未定义书签。2052.1管理员信息…误!未定义书签。20522系部信息错误!未定义书签。24523班级信25524学生信错误!未定义书签。26525教师信息→·+“·*错误!未定义书签。275.2.6章节信息285.3题库管理模块实现.295.3.1判断题信息29532填空题信息*→··*→···········“····“=:··*····*······*·················“·533单选题信息…错误!未定义书签。30534多选题信息错误!未定义书签。3054试卷管理模块实现,…+++++++++++++++++++…误!未定义书签。31541定制试卷中··中中·和中·,···非中…{误!未定义书签。31542试卷管理错误!未定义书签。3455备份惨改模块实现.375.3.修改密码.5.32备份数据库13956本章小结日着南·前非非非非非第6章结束语.141致谢42参考文献43第1章引1.1开发背景在各学校开始逐步引入计算机的今天,试卷作为考察教学成果的重要手段之直没有得到较好的改善,试卷的编辑、整珥工作占了很大的工作量叫传统的手工出卷过程,存在不少弊端:◆出现不必要的重复劳动,造成人力资源及时间上的浪费:◆缺乏科学的衡量、评价及统一试卷难易度、试卷质量的有效手段;◆存在自教自考,考前漏题的情况◆试卷容易出现错漏缺现象,引起不必要的麻烦在以往的教学中,老师出试卷大多由手工出卷,这样生成的试卷往往会有知识点分布太集中、难易程度不当、分值分布不均等一些缺点;这样,既增加了老师的负担,也没有达到很好考查学生学习的真实水平,造成教学上的失误。基于以上的原因,有很多从事软件开发的人员,在试卷自动生成方面做了很大的研究。本系统希望利用计算杋强大的数据处理功能,由计算机逐步代替传统的人工出卷,并且规范岀卷程序,使出卷工作更加和学化、现代化,使教育工作更上一层楼。1.2选题意义w. docIn co考试管理系统,此课题目的是在我们以往学习数据库的基础上,灵活运用数据库开发软件C艹+和结构化查询语言SQL2000,开发出能供教学使用的一套出试卷系统,以方便教学。应用所学的有关数据库的知识,更深入地学习VC+和SQL200,将所学的书面知道和实际应用结合起来,以达到学以致用的日的。在各学校开始逐步引入计算机的今天,试卷作为考察教学成果的重要手段之·,通用试卷自动生成系统升化了传统的手工出卷,解决了很多问题,例如:遥免了不必要的重复劳动:节约了人力资源及时间;使用科学的衡量、评价及统一试卷难易度、试卷质量的有效手段;大幅度降低了试卷出现错漏缺的机率;减少不必要的麻烦。1.3开发内容班级考试管理系统主要涉及的信息数据包括系统管理员信息,系部信息,班级信息,学生信息,教师信息,试卷信息和各种题库等数据,涉及的操作主要包括各种信息数据的管理,为考试定制的试卷,试卷管理等管理操作,教师密码修改,备份数据库等。经考查与分析,典型的考试管理系统主要应具有以下功能:◆基本信息管理:包括对系统管理员信息,系部信息,班级信息,学生信息,救师信息,章节信息的录入,修改和删除等功能。◆试卷管理:包括对已创建的试卷数据的删狳,定制考试试卷,选择考试试卷等功能◆题库管理:包扦对判断题,填空题,单项选择题,多项选择题等题库的管理功能。QOc(m豆丁www.docin.com第2章系统的相关技术介绍21MFC介绍MFC( Microsoft Foundation Class Library)屮的各种类结合起来构成了一个应用程序框架,它的日的就是让程序员在此基础上来建立 Windows下的应用程序,这是一种相对SDK来说更为简单的方法。因为总体上,MFC框架定义了应用程序的轮廓,并提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用稈序特有的东西填入这个轮廓。 MicrosoftⅤ Visual c++提供了相应的工具来完成这个工作: App wizard可以用来生成初步的框架文件(代码和资源等);资源编辑器用于帮助直观地设计用户接口; Class wizard用来协助添加代码到框架文件;最后,编译,则通过类库实现了应用程序特定的逻辑3。MFC实现了对应用程序概念的封装,把类、类的继承、动态约束、类的关系和相互作用等封装起来。这样封装的结果对科序员来说,是一套开发模板(或者说模式)。针对不同的应用和目的,程序员采用不同的模板。例如,SD应用程序的模板,MDI应用程序的模板,规则DIL应用程序的模板,扩展DLL应用程序的模板, OLE ACTIVEX应用程序的模板,等等。这些模板都采用了以文档-视为中心的思想,每一个模板都包含一组特定的类。典型的MD应用程序的构成将在下节具体讨论。为了支持对应用程序概念的封装,MC内部必须作大量的作。例如,为了实现消息映射机制,M℃编程框架必须要保证首先得到消息,然后按既定的方法进行处理。又如,为了实现对DLL编程的支持和多线程编程的支持,MIFC内部使用了特别的处理方法,使用模块状态、线程状态等来管理一些重要信息。虽然,这些内部处理对程序员来说是透明的,但是,懂得和理解MFC内部机制有助于写出功能灵活而强大的程序。MFC借助C艹的优势为 Windows开发开辟了一片新天地,同时也借助 Application wizzard使开发者摆脱离」那些每次都必与基本代码,借助 Class Wizard和消息映射使丌发者摆脱了定义消息处理时那种混乱和冗长的代码段。更令人兴合的是利用C++的封装功能使开发者摆脱 Windows中各种句炳的困扰,只需要面对C+中的对象,这样一来使开发更接近开发语言而远离系统。正因为MFC是建立在C++的基础上,所以我强调CC+语言基础对开发的重要性。利用C++的封装性开发者可以更容易理解和操作各种窗口对象;利用C+的派生性开发者可以减少开发自定义窗口的时间和创造出可重用的代码:利用虚拟性可以在必要时更好的控制窗口的活动。而且C++本身所具备的超越C语言的特性都可以使开发者编写出更易用,更灵活的代码在MFC中对消息的处理利用了消息映射的方法,该方法的基础是宏定义实现,通过宏定义将消息分派到不同的成员函数进行处理。因此对于开发系统具有一定的优势。总之,MFC封装了Win32API, OLE APⅠ, ODBC API等底层函数的功能,并提供更高一层的接口,简化了 Windows编程。同时,MC攴持对底层API的直接调用。MFC提供了一个 Windows应用程序开发模式,对程序的控制主要是由MFC框架完成的,而且MFC也完成了大部分的功能,预定义或实现了许多事件和消息处理,等等。框架或者由其本身处理事件,不依赖程序员的代码;或者调用程序员的代码来处理应用稈序特定的事件。MFC是C++类库,程序员就是通过使用、继承和扩展适当的类来实现特定的目的。例如,继承时,应用程序特定的事件由程序员的派生类来处理,不感兴趣的山基类处理。实现这种功能的基础是C++对继承的支持对虚拟函数的支持,以及MFC实现的消息映射机制22 SQL SERVER2000介绍SQL( Structured Query Language,结构查询语言)是个功能强大的数据库语言。SQL通常使用于数据库的遥讯。ANS(美目国家标准学会)声称,SQL是关系数据库管理系统的标准话言。SQL语句通常用于完成一些数据库的操作任务,比如在数据庠中更新数据,或者从数据库中检索薮据。使用SQL的常见关系数据库管理系统有: Oracle、 Sybase、 Microsoft SQL Server、 Access, Ingres等等吊然绝大多数的数据库系统使用SQL,但是它们同样有它们自立另外的专有扩展功能用于它们的系统。但是,标准的SQL命令,比如" Select"、" Insert"、" Update"Delete"、" Create"和"Drop"常常被用于完成绝大多数数据库的操作但是,不像其它的语言,如C、 Pascal等,SOL没有循环结构(比如 if-then-lse、do- while以及函数定义等等的功能。而且SQL只有一个数据类型的固定设置,换句话说,你不能在使用其它编程语言的时候创建你自己的数据类型。SL功能强人,但是概括起来,它可以分成以下几组◆DML( Data Manipulation Language,数据操作语言):用于检索或者修改数据◆DDL( Data Definition Language,数据定义语言):用于定义数据的结构,比如创建、修改或者删除数据库对象;◆DCI.( Data Control Language,数据控制语言):用于定义数据库用户的杈限DML组可以细分为以下的几个语句:◆ SELECT:用于检索数据。◆ INSERT:用于增加数据到数据库。◆ UPDATE:用于从数据库中修改现存的数据。◆ DELETE:用于从数据库中删除数据23ODBC介绍ODBC( Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA, Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对薮据庳访问的标准API(应用程序编程接口)。这些AP利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打父道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是 FoxPro、Aes, MYSQL还是Oracle数据库,均可用 ODBC AP进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。一个完整的ODBC由下列几个部件组成:应用程序( Application)ODBC管理器( Administrator),该程序位于 Windows95控制面板( Control Panel)的32位ODBC内,其主要任务是管理安装的ODBC驱动程序和管理数据源。驱动程序管理器 Driver Manager)。驱动程序管理器包含在ODBC32DLL中,对用户是透明的。其任务是管理ODBC驱动程序,是ODBC中最重要的部件数据源。数据源包含∫数据库位置和数据库类型等信息,实际上是一种数据逹接的抽象。应用程序要汸问一个数据库,首先必须用ODBC管理器注册一个数据源,管理器根据数据源提供的数据厍位置、数据厍类型及ODBC驱动程序笭信息,建立起ODBC与貝体数据库的联系.这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接。在ODBC中, ODBC API不能直接访问数据库,必须通过驱动稈序管理器与数据库交换信息。驱动程序管理器负责将应月程序对 ODBC API的调用传递给正确的驱动程序,而驱动程序在执行完相应的操作后,将结果通过驱动程序管理器返回给应用程序。在访问ODBC数据源时需要ODBC驱动程序的支持,用 Visual++6.0安装程序可以安装SQLServer、 Access、 Paradox、 dBase、 FoxPro、 Excel、 Oracle和 Microsoft Text等驱动程序.在缺省情况下,VC6.0只会安装 SQL Server、 Access、 FoxPro和d Base的驱动程序.如果用户需要安装别的驱动程序,则需要重新运行VC6.0的安装程序并选择所需的驱动程序。ODBC使用层次的方法来管理数据厍,在数据库通信结构的每一层,对可能出现依赖数据库产品自身特性的地方,ODBC都引入一个公共接口以解决潜在的不一致性,从而很好地解决了基于数据库系统应用程序的相对独立性,这也是ODBC一绎推出就获得巨大成功的重要原因之一。24 CRecordSet类和 CRecord View类CRecordset对象代表从一个数据源选择的一组记录的集合,被称作“记录集”。CRecordset对象可以以两种形式使用:动态集和快照。动态集是与其它用户的数据更新保持同步的动态数据集。快照是数据的静态视图。每一种形式都代表打开记录集吋定的组记录,但是当滚动到动态集中的个记录时,动态集将反怏后来由其它用户或由应用程序巾其它记录集对此记录所做的改变。要使用任何一种记录集,通常需要从 CRecordset派生一个应用程序指定的记录集类。记录集从一个数据源中选择记录,然后用户就可以◆在这些记录中滚动更新记录并指定一种加锁模式。过滤记录集,以获得那些从数据源中选择出来的可利用的记录排序记录集。◆参数化该记录集以定制它的具有要直到运行时才知道的信息的选项。CRecord view对象是在控件中显小数据库记录的视这种视是一种直接连接到一个〔 Recordset对象上的格式视。此视是从一个对话框模板资源创建的,并将CRecordSet对象的字段显示在对话框模板的控件中。 CRecordview对象利用对话框数据交换(DDX)和记录字段交换(RFX)机制,使格式上的控件和记录集的
- 2020-12-01下载
- 积分:1
基于视频的三维重建研究
这是一篇华中科技大学的硕士毕业论文,里面对三维重建技术的讲解很详细,适合作为综述来看独创性声明本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或集休已经发表或撰写过的研究成果。对木文的研究做出贡献的个人和集休,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。学位论文作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关侏留、使用学位论文的规定,即:学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权华屮科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以釆用影印、缩印或扫描等复制手段保存和汇编本学位论文。保密口,在年解密后适用本授权书本论文属于不保密口。(请在以上方框内打“√”)学位论文作者签名指导教师签名:日期:年月日日期:年月日万方数据华中科技大学硕士学位论文摘要基于视频的重建技术在计算杋视觉领域中扮演着非常重要的角色,而如何恢复场景的三维模型是目前研究的热点与难点问题。本文围绕基于视频的场景重建技术展开讨论,包括棊于单目视频的三维场景重建和于双目视频的视差图和场景流获取。由于单目包含的深度信息比较少,如何基于单目视频恢复相机的运动参数以及目标的深度信息是研究的重与难点。双目视频虽然包含了非常显著的深度信息,但是考虑到视频中场景的迕续性问题,如何使得恢复岀的深度图保持前后帧的连续性以及场景中运动日标的一致性,也是比较困难的问题。因此,针对上述所提到的问题进行了深入的研究,具体的研究工作如下第一,对三维重建研究进行了详细的介绍,介绍了对于特征点匹配的理解以及我们提出的基于特征引导偏向性高斯混合模型( Feature Guided Biased GaussianMixture model,FGBG);详细介绍立体视觉中立体匹配算法的原理、分类及评测标准,并在4个典型的数据集上对有代表性的局部、全局、半全局算法进行对比实验。此外,详细介绍运动恢复结构(SFM)的基本原理,并进行了实验分析。第二,提岀一种基于双目视频的视差图和场景流获取技术。基于双目视频,首先获得初始的视差图和2D特征点轨迹;在此基础上获得初始的3D稀疏运动轨迹,利用本文提出的 Object Motion Hypothesis(OMH)算法获得运动物体的致性假设采用 slanted-plane model以及参考图像与前后时间点图像对的约束关系,构建超像素和运动物体之间的能量模型,通过优化获得视差和场景流的估计结果。第三,提出一种棊于单目视频的动态场景重建系统。在获取特征点轨迹的基础上,基于运动信息获得特征点轨迹的聚类结果;提出一种基于超像素的多标记Graph-cut算法,得到每一个日标的精确边界;为每一个运动日标分配一个虚拟相机通过标准的SFM方法分别单独估计每个运动目标对应的虚拟相机的参数和稀疏三维点云,通过PMVS和泊松表面重建获得目标的稠密重建结果。关键词:三维重建、单∏视频、双目视频、视差、场景流万方数据华中科技大学硕士学位论文Abstract3D reconstruction based on video has play an important role in computer vision, andhow to recover 3D scene model has been paid much attention and is a difficult problemBased on the importance of 3D reconstruction, in this paper, the 3D reconstruction basedon video has been studied, including 3D scene reconstruction based on monocular videoand depth map and scene flow estimating based on binocular video. Since the monocularcontains much less depth information, how to recover the camera motion and depth maphas been a difficult problem. Besides, although binocular view contains significant depthinformation, it is difficult to keep the consistency of depth map and moving objectsTherefore, in view of the problems mentioned above the specific research works are asFirst. we introduce two directions of 3D reconstruction in computer vision: based onstereo vision method and based on structure from motion. The stereo matching method hasbcen introduced in detail, including algorithm principle, classification, and evaluationmethod. And, we compare the global, local and semi-global algorithm on four typicaldataset. In addition, we have made a detail introduction of structure from motion(SFM)and the experiment has been carried out to get 3D point cloudSecond, a method for depth map and scene flow estimation is proposed. First, inputbinocular video, initial disparity map is got by SGM, 2 point trajectories are got byoptical flow. Then the 3D tracks are got by disparity map and 2D point trajectories, get theobject motion hypothesis. Considering constraint between the reference image and theforward-backward images, the energy model based on super-pixel and object isconstructed using slanted plane model. Finally, the depth map and scene flow will be gotThird, a method for reconstructing monocular dynamic scene with multiple movingrigid objects captured by a single moving camera is proposed. First of all, feature pointsare matched through the video sequence via the optical flow method and the tracks "aregot based on these matches. Then the tracks are divided into several groups according totheir motion differences. An improved graph cuts based multi-label auto imagesegmentation method is used to acquire the accurate boundary of each moving object and万方数据华中科技大学硕士学位论文the static background. Then we assume a virtual camera for each moving object and thestatic background. The pose of these virtual cameras are estimated via the standardStructure from Motion(SFM) pipeline. Finally a dense point set and textured model isreturned for each virtual camera. We evaluate our approach on real-world video sequenceand demonstrate its robustness and effectivenessKey words: 3D reconstruction, monocular video, binocular video, disparity, scenefleOw万方数据华中科技大学硕士学位论文目录摘要Abstract绪论1研究的背景及意义2国内外研究现状1.3论文的主要工作及结构···································:··········.················4·2三维重建基本方法研究2.1引言.………8)2.,2线性摄像机模型(8)23基于特征点的图像匹配24运动恢复结构方法(12)2.5立体匹配与三维重建···.·.·······.·················:····.····················(15)26本章小结(22)基于双目视频的视差图与场景流估计3.1引言(23)3.2运动目标的提取(25)3.3双向约束场景流模型..31)34实验分析.333.5本章小结(444基于单目视频的三维重建研究(45)4.2目标分割(464.3三维场景估计(51)万方数据华中科技大学硕士学位论文4.4实验分析(52)4.5本章小结(55)5全文总结与展望5.1木文的主要页献与创新点(56)5.2工作展望…7)致谢S8)参考文献非D·非非··非。非(59)附录万方数据华中科技大学硕士学位论文绪论11研究的背景及意义视觉是人类的基本功能。通过视觉,人们能够感知外部世界中物体的大小,以及辨别物体之间的相对位置,并且了解它们之间的相互关系。人类把这种功能称为视觉功能。随着科学技术的不断创新,新兴的电子产品不断涌现,数码设备的成熟和计算机理论的涌现让人们越来越关注计算机视觉。人们开始利用摄像机采集视频或者图像,并将其转化为人类可理解的信号。即利用计算机实现模仿人类视觉的功能,计算机视觉也就随之六生。计算机视觉是个涵盖多种学科知识的新兴学科。其理论研究的最终目的是通过对采集到的视频或者图像进行处理,将二维图像或视频转化为三维信息,从而感知场景或物体的形状及运动。因此,计算机视觉吸引了越来越多的研究人员参与其中,包括图像处理与模式识别,应用数学,计算札科学与技术等等。三维场景重建作为计算札视觉中一个重要的研究方向,受到许多研究者的青睐。最近,获取三维场景信息的方式主要有以下三种:第一种,利川常见的建模软件3DMax、CAD等进行重建;第二种,利用深度扫描仪、红外或者激光测距仪器等设备进行三维重建;第三种,利用计算机视觉原理,基于视频或者图像获取场景的三位模型。在上述方法中,第一种是最为成熟的,但是第一种方法的操作步骤十分复杂,并且建模周期长。第二种方式能够获得物伓的髙精度几何模型,但是这些仪器价格昂贵,费时费力,并且对于重建大型场景非常局限。因此,第三种方式受到了普遍的关注,它可以重建复杂的室外大型场景,真实感强,价格低廉且方便携带。利用图像或者视频对场景进行重建,即从图像或视频中恢复场景或者物体的三维几何信息,构建三维模型,给人以视觉亨受。三维重建的用途十分广泛,它可以用于机器人导航,无人驾驶,医学图像分析,游戏等众多方向在众多的三维场景重建方法中,于视频的重建方法一直是一个研究热点。其中,从单目视觉的角度出发,基于单目视频的三维重建技术就是利用单个摄像札对万方数据华中科技大学硕士学位论文场景进行拍摄,研宄如何利用图像序列光流估计运动物体或场景的三维运动来重建三维模型。从双日视觉的角度出发,基于双∏视频的三维重建技术就是利用两个摄像机,从两个不同的角度对同一个场景进行拍摄,研究如何利用左右两个图像序列各自的运动信息,以及左右视图之间的视差信息,完成场景的三维重建。本文的基于视频的三维重建技术具有十分重要的研究价值。针对双目视频,提出了一种基于双目视频的视差图和场景流获取技术,目的是同时获得视差图和场景流信息、。针对单目视频,提出个完整的基于包含多个刚体运动目标的单目动态场景视频的重建系统。12国内外研究现状121基于单目视觉的三维重建研究现状近年来,3D静态场景的重建己经取得了显著性的突破。其中,大多数的研究都是遵循一个特定的步骤:首先从一组多视角的图像中提取特征点,然后对多视图中的特征点进行匹配,构建基础矩阵,恢复相机参数,从而得到玚景的三维结构凹。其中, Snavely N主要通过SFM( (structure from motion)从无序图像序列中恢复相机的位置以及获得场景的三维稀疏点云倒。除∫稀疏点云的重建之外,很多学者也集中研究场景的三维稠密重建四。其中, Seitz s m对多种立体匹配算法进行比较,并且是第一个提供已标定的多视图数据集。 Kolev K在前者的基础之上提出了一个全局能量模型,融合了轮廪信息和立体信息。值得一提的是,深度信息也是一种非常有前景的3D重建方法,主要思想是通过恢复图像的深度信息,融合多幅深度图逃行稠密重建η。此外,很多研究集屮于基于单个视频的稠密表面重建,主要包括基于场景流( scene flow)s, mesh- based稠密表面重建例, patch-base稠密表面重。但是,大多数捕获的视频中,动态场景视频比铰常见。而上述的研究只能用于处理静态场景,它们在应对多目标运动场景方面是十分有限的。最近, Tron r提出了一个包含动态运动目标的场景分割标准山,它是·个重要的3D运动估计和重建的预处埋过程视频重建主要有于两个视图12和基于多个视图314其中,HanM和万方数据
- 2020-12-11下载
- 积分:1