登录
首页 » Others » 基于MFC的考试管理系统

基于MFC的考试管理系统

于 2020-12-01 发布
0 353
下载积分: 1 下载次数: 2

代码说明:

该资源详细的讲解了怎样开发考试管理系统的步骤以及有大部分的代码资源。有利于学习开发、对照有关的系统开发。目录摘要…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)机制,使格式上的控件和记录集的

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • DAVE4教,入门.docx
    【实例简介】infineon dave4入门教程,包含新建,导入工程,调试,下载程序
    2021-11-21 01:02:00下载
    积分:1
  • 双卡尔曼SOC估计
    双卡尔曼滤波算法是基于卡尔曼滤波算法的一个二级结构算法。第一步使用了卡尔曼滤波算法,用电池电压来修正SOC,然后将修正后的SOC作为第二个卡尔曼滤波算法的输入,对安时积分法得到的SOC进行修正,最终得到双卡尔曼滤波算法SOC估计值。结合EKF算法和安时积分法的优点,能够得到更稳定、更精确的估计结果。
    2020-11-04下载
    积分:1
  • Visual Basic数据库开发实例精粹,是本非常优秀全面的书籍。
    Visual Basic数据库开发实例精粹,是一本非常优秀全面的书籍。
    2020-12-10下载
    积分:1
  • 华为软件研发上机试和答案.pdf
    【实例简介】华为软件研发的上机试题和答案 感兴趣的可以看看
    2021-11-26 00:37:06下载
    积分:1
  • C序设计语言(第2版·新版)(英文版+中文版+习解答).zip
    C程序设计语言(第2版·新版)(英文版+中文版+习题解答).zip
    2019-10-10下载
    积分:1
  • 差分进化简介及实现
    算子课上我讲的PPT,主题是查分演化计算,用到了变异算子,交叉算子和选择算子。复盘分析差分进化与遗传算法相似,这一点,对遗传算法稍微了解的人都会有这样的疑问。该PPT未对二者的区别和联系进行分析。我对二者都有一定的了解,并做过二者的简单实现,理应在这方面做出思考。遗憾的是,演讲结束后,老师问到这个问题,我没有做出较好的回答。介绍完算法的原理后,举了一个非凸函数寻优的例子,并且展示了函数的3D图像和最优函数值演变曲线,这一点很好。介绍图像时,首先要介绍坐标轴的含义和单位,这一点没有照顾好。很明显的一个缺陷是: 缺少该算法在工业上的应用实例。让人感觉该算法只存在于纸面上,却无实际应用价优化问题和近似最优解差分演化算法CONTENTS引言ρ优化问题是一种以数学为基础,用于求解各种工程问题基本原理的应用技术。应用实例优缺点ρ绝大多数的工程问题的求解都可以转换为优化问题,算法改进但是部分问题属于NP问题,很难找到解析解,比如:0研完点1背包、组合优化问题、任务指派等。某些情况下,退而求其次,找到近似最优解即可。针对优化问题的近似解求解,目前已成为了当前一个热点研究方向,催生出一系列的智能算法。智能算法的研究差分演化算法CONTENTS◎1975年: J Holland根据生物进化过程提出了遗传算引言法基本原理ρ1982年: Kirkpatrick模拟冶金学的退火过程提出了模拟应用实例退火算法。优缺点算法改进◎1991年: dorigo.M根据蚂蚁觅食的群体行为提出了蚁研完点群算法。◎1995年: Kennedy根据鸟类觅食的群体行为提出了粒子群算法。ρ1997年: Rainer storr和 Kenneth price.在遗传算法等进化思想的基础上,提出了差分进化算法( DifferentialEvolution, DE差分进化算法简介差分演化算法CONTENTS引言由 Rainer storn和 Kenneth price在1997年为求解切比雪基本原理夫多项式而提出。应用实例优缺点◎是一种随机的并行直接搜索算法,它可以对非线性、不算法改进可微、连续空间函数进行最小化,以其易用性、稳健性研完点和强大的全局寻优能力在多个领域取得成功。◎应用:在约東优化计算、聚类优化计算、飞线性优化控制、神经网络优化、滤波器设计、阵列天线方向图综合等参考文献差分演化算法CONTENTSE Storn, Rainer and Price, Kenneth. Differential evolution引言a simple and efficient heuristic for global optimization over基本原理continuous spaces. Journal of global optimization, 1997应用实例优缺点国杨启文,蔡亮,薛云灿.差分进化算法综述.模式识别与人算法改进工智能,2008研完点圖王培崇,钱旭,王月,虎晓红.差分进化计算研究综述.计算机工程应用,2009E Das, Swagatam and Suganthan, Ponnuthurai Nagaranam. Differential evolution: a survey of the state-of-the-artEvolutionary Computation, IEEE Transactions on, 2011优化问题表示差分演化算法左图是两个参数的函右侧是最优化问题的形式化CONTENTS数的3D图像,可以描述。第一行是目标函数,引基本原理将xy平面的矩形作为表示求函数极小值;然后是应用实例解空间,优化问题就约束条件。优缺点是从解空间中搜索最算法改进大最小值研完点min f(x1, x2st.x;∈[L;,U1≤j≤算法框架差分演化算法迭代过程CONTENTS引种群初始化变异交叉选择基本原理应用实例优缺点种群初始化在解空间中随机、均匀地产生M个个体,每算法改进个个体由n个染色体组成,作为第0代种群,标记为研完点X(0)=(x;1(0),x12(00i=1.2..…,M◎变异、交叉、选择三步操作迭代执行,直到算法收敛。第g次迭代的第i个个体标记为X(g)=(x;1(g),x;2(g),…,x1n(g)1.2.M种群初始化差分演化算法在n维空间里随机产生满足约束条件的M个染色体,第i个染色体的第个维取值方式如下rand(0,1)产生0到1的均匀分布CONTENTS的随机数):引基本原理;(0)=L+mnd(0,1)(U,-L)应用实例M优缺点算法改进研完点均匀分布随机分布聚群分布变异算子差分演化法在第8次迭代中,对个体X(g)=(x18,x12(g),…,xn(g),从种群中随机选择3个个体Xn1(g),X12(g),Xp3(g),且p1≠p2≠CONTENTS13≠i,则引H(g)=Xn1(g)+F.(Xn2(g)-X3)基本原理应用实例其中△p2,n3(8)=Ⅹn2(g)-X(8)是差分向量;F是缩放因子,优缺点用于控制差分向量的影响力算法改进研完点F(xm-x,:)0
    2021-05-07下载
    积分:1
  • 基于光滑粒子流体动力学(SPH)的流体模拟方法—杯中水的模拟
    干货!这是本人基于光滑粒子流体动力学做的一个杯中水的模拟,比较成功!两年的sph学习不容易,今天特意拿出来与你们分享——sph方法的编程核心技巧!
    2020-11-29下载
    积分:1
  • Abaqus material library
    直接将下载下来的文件解压,将解压后的文件夹中的所有文件复制到abaqus安装目录下的abaqus_plugins文件夹里面,然后再回到abaqus程序界面中,就能看到Material Library在Mode和Results后面了。然后点击下拉三角箭头,就能看到Materials_ASTM.lib,Material_CatiaV5.lib,Materials_EN.lib, Materia_GB.li了
    2020-12-11下载
    积分:1
  • 最优阵列处理技术源代码
    最优阵列处理全书以及课后题代码包含各种阵列优化设计方法
    2020-12-12下载
    积分:1
  • modbus协议中文完整高清+modbus源码分析
    modbus协议中文完整高清版+modbus源码分析中文高清版
    2021-05-06下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载