1、 分类号: TP315 2013 届本科生毕业论文题目: 基于 C+的学生信息管理系统的设计与实现 作 者 姓 名 : 殷巧云 学 号 : 2011110717 系(院) 专业 : 信息工程学院 计算机科学与技术专业 指导教师姓名 : 宋启祥 指导教师职称 : 教授 2013 届本科生毕业设计 摘要摘 要随着学校办学规模的扩大和招生人数的增加,靠人工管理学生信息已经不再适用于现代的教育管理模式。本毕业设计依照软件工程的思想开发了一个学生信息管理系统,实现了对学生基本信息的动态管理;通过网络,教师可以在任何时间、任何地点查看学生的各种基本信息。所开发的学生信息管理系统使用 VC+6.0 设计前台
2、界面,使用 SQL Server 2005搭建后台数据库。本系统实现的功能包括学生成绩信息、学生用户信息、每学期各种考试信息的录入、修改、删除,以及更改考试科目、班级信息等功能。本系统改善了人工管理学生信息的模式,不仅方便教师对学生信息进行有效的管理,还能让学生用户方便地查询自身信息。关键词:学生信息管理系统 ;VC+6.0;SQL Server 20052013 届本科生毕业设计 ABSTRACTABSTRACTWith the school scales expansion and school enrollments increase, relying on manual labor f
3、or managing student information has no longer been suitable for modern educational management. Under the guidance of software engineering thoughts, this graduation design develops a student information management system, which can achieve the dynamic management of students basic information; and thr
4、ough the network, teachers can view a variety of basic information about students at any time and any place.The developed student information management system uses VC+6.0 to design front interface, and adopts SQL Server 2005 to construct back-end database. The system implementation functions includ
5、e adding, modifying and deleting information of student achievements, student user information and examinations information for each semester, and change the test subjects, class information, etc. The system has improved the manual mode of managing student information, which is not only convenient f
6、or the effective management of student information, but also allows student users to easily check their own information.Keywords : Student Information Management System ; VC+6.0; SQL Server 20052013 届本科生毕业设计 目录目 录 1 绪论.12 项目开发概述.32.1 运行环境 .32.2 系统可行性分析 .32.2.1 技术方面的可行性42.2.2 经济方面的可行性42.2.3 系统操作方面的可行
7、性42.3 系统功能概述 .42.3.1 基本信息管理功能52.3.2 学生管理功能52.3.3 查询管理功能62.3.4 系统管理功能62.3.5 帮助功能63 项目概要设计.73.1 项目的功能需求 .83.2 项目的性能需求 .83.2.1 项目信息处理的准确性需求和及时性需求93.2.2 项目信息的开放性需求和可扩充性需求93.2.3 项目的易使用性需求和易维护性需求93.2.4 系统数据要求93.3 主要流程图 103.4 数据库主要设计 124. 项目实现.164.1 各个功能的具体实现 164.2 系统运行界面 204.2.1 系统登陆界面.204.2.2 操作界面.214.2.
8、3 设置操作.232013 届本科生毕业设计 目录结论26参考文献27致 谢282013 届本科生毕业设计 1 绪论11 绪论多年以来,学校对本校学生的信息管理都还沿用传统的方式,在这样的模式管理下,用人工来记录学生的信息效率低、保密性差,人力资源也存在着极大的浪费。此外,随着时间的推移,资料库将会产生大量的文件和数据堆积现象,这种现象对于数据的查找、更新以及维护都会带来很大的阻碍。随着现代素质教育的提高以及时代的快速发展,靠人工来管理学生信息已经不再适用于现代的教育管理模式。在科技快速发展,计算机越来越普及的信息化时代的到来,为了使学校传统的管理方法和办学水平都能应对这种极大的挑战,需要对传
9、统的教育方式提出新的建议和要求。而步入了新的世纪,从世界各国的教育科学化进程来看,各种竞争显得异常的激烈,而且不仅仅是在教育的基础信息建设和相关的资源建设上,又或者说是在方法的普及的程度上,我们与其他发达国家,包括一些发展中的国家相比较,也都存在较大的差距。步入 21 世纪的我们,假如还是不能很好地利用网络和科技,又或是不会用较少的成本来推动教育的信息化、科学化发展,那么像这样没有明确的发展方向,一定会偏离信息化、科技化的轨道,从而就可能会阻碍社会科技化、信息化的进步,甚至于整个国民经济的科技化发展。所以说,如何实施教育的信息化管理已经成了一个十分重要的且必须立刻解决的问题,而如何有效的管理学
10、生信息,是实现教育信息化管理的关键。与传统的管理方式相比,开发出来的学生信息管理系统的优势就显得比较明显。比如动态管理所有学生的基本信息;通过网络,教师可以在任何时间、任何地点查看学生的各种基本信息。实现信息化管理的一个最重要的特点是迅速准确的查找信息,并且在输入结束后立即给出准确的查询结果。本毕业设计论文是以学校对学生的管理为研究背景,通过对信息管理系统的概念和结构,系统开发的基本原理和方法进行深入的了解和探索,把学生信息管理系统的开发步骤大致分为:系统分析、概要设计、详细设计、框架设计、系统实现及运行调试等。该系统能够为管理者提供充足的学生信息以及迅速准确的查找信息等。设计开发一个学生信息
11、管理系统,通过操作计算机实现对学生信息进行有效的2013 届本科生毕业设计 1 绪论2管理,可以进一步的提高学校的办学质量,彰显出学校高效的现代化教育水平,同时也能显著地提高学校教师的工作效率,实现学生的信息管理工作流程的专业化、科技化、系统化和自动化。通过使用现代化科技软件对学生信息进行修改、查询、添加及删除等一系列的操作,可以大幅度提高管理者的工作效率,杜绝了人工管理的各种弊端。利用学生管理信息系统来对学校学生的各种信息进行精确而且有效的管理会给学校带来意想不到的收获。学生管理系统是一种高效且使用非常方便的系统软件,它是利用 SQL 建立相关数据库。所以建立一个数据一致性强、完整性好、安全
12、性高的数据库是十分重要的。该学生管理系统还要求应用程序功能要完备,而且要方面用户使用等。经过一系列的研究和分析,本系统将采用 VC+6.0 平台进行项目开发,同时数据库建立在 SQL Server 2005 数据库的基础上实施操作,在此之后对初始的原型系统进行相关的需求迭代并进行不断的修正、改进,使得系统更加完善。2013 届本科生毕业设计 2 项目开发概述32 项目开发概述2.1 运行环境本系统采用的是面向对象的软件编程研发方法,用 Microsoft 公司的开发环境 Visual C+6.0 作为当前软件开发的主要工具如图 2-1 所示,并且用 Microsoft SQL Sever200
13、5 作为软件的数据库如图 2-2 所示。图 2-1 是打开 VC 软件后的初始界面图 2-2 是 SQL2005 打开后的初始界面2.2 系统可行性分析本管理系统是在 VC+6.0 环境下使用 C+语言进行软件开发的,而且在数据方面是使用 SQL Server 2005 作为数据库建设平台来记录和管理所有学生的相关信息。2013 届本科生毕业设计 2 项目开发概述4在计算机迅速发展和普遍应用的今天,学生管理系统研发的可行性大体上划分成下面的几个部分。2.2.1 技术方面的可行性可运用 VC+语言在 VC+6.0 环境下进行开发,而且是在 Windows 7 系统环境下,用 SQL Server
14、 2005 作为数据库。SQL Server 2005 数据库是一种增添了许多新功能,同时也改进了很多缺点的数据库。大致上这些改进的功能包括新的 XML 技术和增强的 SQL 处理以及新的数据类型,还有对于关系型数据库的可用性、可伸缩性等方面改进。2.2.2 经济方面的可行性在当今社会,计算机的性能有很大的提高,而且价格也越来越便宜。对于学生管理系统的开发,也创造了一个很好的条件。通过使用学生管理系统来有效的管理学生信息,不但会为学校减轻很多负担,而且也提高了管理人员的工作效率,主要表现在以下几个方面:1.本系统的开发可以取代人工操作对信息进行管理。2.本系统的开发可以节省许多人力物力等资源。
15、3.本系统的开发可以大幅度的提高学校的管理者的工作效率。4.本系统可以使学生的信息数据文档的安全性提高很多等等。2.2.3 系统操作方面的可行性此次课题设计所开发的学生管理系统并不算是大型的系统软件,它对于硬件和软件的各种需求都不是很多,要求也不是很高,一般我们的私人电脑或者学校机房的电脑都可以达到这样的要求,所以可以确定学生管理系统在运行上是肯定可行的。作为计算机应用的一部分,使用计算机管理学生成绩,有着手工管理所无法比拟的优点,主要有:检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长,成本低等。该学生管理系统不仅能极大地提高管理学生信息的效率,也能实现教育单位的科学化、正规化管理。
16、因此,开发一个信息管理软件是一件有意义而且非常重要的事情。2.3 系统功能概述学生信息管理系统在学校管理工作中占据着重要的地位,同时对于学校的决策者和管理者来说都是至关重要的。所以学生信息管理系统应该为用户提供充足的信2013 届本科生毕业设计 2 项目开发概述5息和快捷的查询方式。随着计算机应用的普及与深入,利用计算机能够对所有考试成绩进行统一管理及分析,大大减少了教学秘书的工作量,提高了工作效率,为教学办公带来了极大的方便。本系统本着实用、通用、开放和安全的原则,实现了学生信息管理、课程信息管理、学生成绩管理、成绩查询等功能。本系统一切从实际出发,充分考虑了成绩的内部管理、信息交流等方面的
17、复杂需求,实现学生信息的有效管理,真正为学生信息管理提供一个电子平台。本系统的主要功能和任务是实现对学校所有学生的信息进行管理,其中包括成绩管理、班级管理、教师管理、科目管理、用户管理、科室管理及这些信息的相关的查询。2.3.1 基本信息管理功能1.班级信息管理提供各个班级的相关信息,如各个班级的名称和各个班级的班主任姓名。修改班级信息,如添加一个班级的各种信息或者删除已经毕业班级的所有信息等操作。2.科室信息管理主要提供学校所有科室的相关信息。比如说查询某个科室的名称,以及对某个科室的有关信息进行修改,如添加一个科室或者删除一些已经不存在的科室等操作。3.教师信息管理提供各个教师的相关信息,
18、如教师的名称、级别、编号等。同时还包括对教师信息的修改,添加,删除等操作。4.科目信息管理提供各种科目的相关信息,如各个科目的名称,以及对科目信息进行修改,添加,删除等操作。5.班级科目设置提供各个班级不同科目的相关信息,设置班级正在进行的各项科目教学的科目名称,以及对相关科目信息进行修改、添加、删除等操作。6.考试类别设置用于设置相关考试类别,方便考试成绩的录入和修改,也可对其进行添加、删除、修改、查询等操作。2013 届本科生毕业设计 2 项目开发概述62.3.2 学生管理功能1.学生信息管理可以录入学生的相关信息,如学生的名称、编号、地址、年龄、班级等,也可以对相关信息进行修改和查询以及
19、添加或删除某个学生的全部信息。2.学生成绩录入用于录入学生各科目在不同考试类别下的各项成绩,便于以后查询,也可进行相应的修改和保存操作等。3.成绩等级设置通过设置成绩的等级,来对学生的成绩进行进一步区分,比如说可以分为及格、优秀、良好等,也可以以此来查询某一个或者多个学生的各科成绩信息。4.学生违规处理用于记录学生是否有违纪行为,可以进行相应的添加,修改,删除等操作。也可以以此来查询某一个或者多个学生的违规处理信息。2.3.3 查询管理功能1.学生信息查询:可以查询所有学生的基本信息,包括住址,班级,年龄等等。2.学生成绩报表:用于生成所有学生各个科目的相关成绩报表。3.学生违规查询:用于查询
20、某个学生是否有违纪的相关记录。2.3.4 系统管理功能1.用户管理:设置用户,或者对已有用户信息进行修改和删除等操作。2.退出系统:用于退出整个系统。2.3.5 帮助功能 在用户遇到问题的时候可以为用户提供一些帮助。2013 届本科生毕业设计 3 项目概要设计73 项目概要设计21 世纪以来,社会经济的高速发展,生活环境和科学技术也都发生了日新月异的变化,尤其是在计算机科学技术的应用及普及都牵涉到经济以及社会生活的方方面面。所以,为了适应当今社会中人们高度的时间价值观念,编写学生信息管理系统软件对于管理学生信息的工作者来说,无疑是一个喜讯。因为,它不但能大幅度的提高管理者的工作效率,而且还减轻
21、了他们的工作负担。利用学院现有的计算机硬件资源,做好学生成绩管理工作,提高办事效率,实现全面的、相对集中的办公自动化,开发本系统就成了当务之急,其目的主要为了彻底改变这种繁杂的管理模式,实现全面的、相对集中的、智能化的信息综合管理,为学院的教学管理工作带来方便。该系统使用 C+作为本软件的实现语言,同时运用 Microsoft SQL Server2005 来实现系统相关数据的后台操作了,它的功能是由系统内部的源代码直接实现的。用户在使用过程中仅仅需要按照系统的要求输入信息即可进行操作。学生成绩管理工作是学校管理工作的重要组成部分,而学生成绩管理系统是典型的信息管理系统的一个分支,其开发主要包
22、括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立数据一致性和完整性强、数据安全性能好的数据库,对于后者具有应用程序功能完备、易使用等特点。利用 ODBC 访问 SQL Server 数据库技术开发而成,利用其提供的各种面向对象的开发工具,尤其是数据窗口,实现对学生的各种成绩进行查询、更新、添加和删除。中国电信的调查报告指出,我国的上网人数已达到上亿。由此可见,互联网的应用十分广泛,学校各届的毕业生都希望能在世界各地通过网络了解或查询到自己校友的信息。因此,学生信息管理系统为也学校将来的上网做了一定的铺垫,类似于数据库的建立。需求分析可以说是一个渐进的过程,系统通过开发人
23、员和用户的不断沟通和交流,一步步地加深对系统功能的了解和性能的认识,而且对系统各个部分加以细化或者分解软件需求。需求分析是各种软件研发过程中的一种推理过程,这部分涉及到领域问题以及2013 届本科生毕业设计 3 项目概要设计8它的组成部分,其目的是为了深入了解用户的需求是什么以及目标系统要实现什么样的功能,最终要将用户的各种需求使用书面形式向工作人员或其他人员表达出来。3.1 项目的功能需求学生的信息管理系统在学校管理学生的重要手段之一,它关系着所有学生的各类基本信息,类似于班级信息、科目信息、年龄、住址等。对于每一个学校来讲,学生的信息管理系统是一个不能被替代的组成部分。该系统能够有效地管理
24、所有学生的档案,而且对于学校学生的各种变动包括统计都将起着重要的管理作用。 本课题设计的学生管理系统是根据学校的信息管理人员对学校管理的实际需求来设计和实现的,它更全面的结合了学生信息管理的各种实际情况。从管理员的角度出发来介绍系统的各个功能主要有:查询班级、添加班级;添加学生信息、修改学生信息、查询学生信息;查询全部课程、班级课程;添加成绩、查询成绩;成绩图表等。主要有下面几个功能模块来实现: 1.能够实现对于所有学生的有关信息进行查询、修改、添加、删除等操作。2.能够为学校提供全面和强大的查询功能,这样可以方便管理人员了解和掌握所有学生的现状和具体情况。3.能够实现对已有的数据库和登陆记录
25、进行定期的相关信息清理。4.同时也可以对系统用户进行修改密码,删除或者新增用户。5.也可以对各个班级的各种信息进行相关的增加,或者修改,或者删除,或者查询等操作。6.可以进行考试类别的设置。7.能够对科目的相关信息进行设置,同时对考试科目进行相关设置如成绩等级的设置。8.能够对新用户进行系统帮助。9.能够对学生的各项信息进行详细的记录包括是否违纪成绩排名等等。10能够方便用户进行操作。3.2 项目的性能需求本系统开发的总体目标是要实现学生成绩管理的系统化、规范化、自动化,以提高学生成绩管理的效率。通过对系统的调研与分析,系统主要完成的功能有:班2013 届本科生毕业设计 3 项目概要设计9级管
26、理、课程管理、成绩管理、系统管理等。为了能够确保系统可以长期、安全、稳定和可靠以及更加高效的运行起来,该学生信息管理项目就要能够满足下面的性能需求。 3.2.1 项目信息处理的准确性需求和及时性需求项目信息处理的高准确性和高及时性是学生管理系统一个不可缺少的性能。在这次的系统设计和系统开发的整个过程中,我们一定要能够充分的考虑到学生管理系统当前和以后可能承受的信息工作量,一定要设计出能够使系统的信息处理能力以及操作响应时间都可以满足学校对学生信息各种处理操作的高效又方便的系统软件。系统采用了 Microsoft 推出的 SQL Server 数据库。 3.2.2 项目信息的开放性需求和可扩充性
27、需求我们在研发学生信息管理系统的整个过程中,必须要充分考虑到对于以后系统软件的可扩充性需求。然而我们要想实现这样的功能,就一定要使该系统具有开放性,也就是说,把学生信息管理系统设计成一个开放的系统。只要设计的系统符合一定的标准,就能够方便快捷的添加和删除系统的各种模块,同时通过配置好系统的硬件,设置好系统的软件环境,我们设计好的系统就能够实现对学生信息的各种相关操作。3.2.3 项目的易使用性需求和易维护性需求通常情况下,学生信息管理系统的使用者并不是计算机专业人士,他们只要通过简单的学习就可以使用一个新系统软件即可,而无须深究具体的操作细节计算机是如何实现的。往往这样上手较快的软件才能得到普
28、遍的应用。因此,本设计的学生信息管理系统必须要给用户提供一个良好的用户接口,因为一个一目了然的图形界面可以方面用户使用。但是要想实现这样的功能,就必须要求该系统尽量使用一般用户都了解的术语以及相关中文信息的界面,同时,对于用户在操作过程中可能会出现的各种疑问,该系统软件还要能提供相关的帮助信息,以尽可能的缩短用户了解系统的时间。3.2.4 系统数据要求通过深入的研究和调查,学生信息管理系统的对信息数据的要求,主要可以概括为以下几个方面:1.信息数据输入和处理的准确性和真实性数据信息一定要具有真实性,因为正确无误的信息是数据处理的重要前提。如2013 届本科生毕业设计 3 项目概要设计10果录入
29、了错误的数据或者把一个正确的信息录入错了,都可能会使企业员工管理系统输出不正确的或不可用的数据信息,这样也就意味着,我们设计的学生信息管理系统就失去了意义。2.信息数据的一致性以及完整性经过调查发现,学生信息管理系统对数据的各项处理操作,学校都有非常严格的要求。这是因为学生的各种信息处理操作本身就非常繁琐和复杂,为了减少操作错误,就要有一些工作人员专门去维护信息数据的一致性和完整性。在对各种信息数据进行录入、输出等一系列操作过程中,对于数据的去向以及数据库的完整性都要有严格的要求和约束条件。同时,对数据信息的输入,也要有相应的完整性规则来进行约束,如果准备操作的数据不能完全符合完整性约束条件,
30、那么学生管理系统就一定要拒绝数据库的操作,以防止造成数据的不一致性和以及破坏数据的完整性。3.各种信息的独立性以 SQL Server 作为后台数据库,并用 ODBC 方法访问数据库,来开发一个学生成绩管理系统,该系统具有查询、修改、添加和删除学生信息的功能。学生成绩管理系统对教育单位管理学生成绩起着非常重要的作用,对于学校的决策者和管理者也是至关重要的。学生成绩管理系统能够为用户提供充足的信息和快捷的查询方式,对于学校来说,学生管理是学校各项工作中的重中之重,所以不可能让每个人都能对信息进行操作,学校一般会委派教务人员来管理学生信息,他们具有独立操作的权力,因此也被称为管理者。3.3 主要流
31、程图1.班级信息管理流程图2013 届本科生毕业设计 3 项目概要设计11图 3-1 班级信息管理流程图图 3-1 是班级信息管理的流程图,通过这个图可以看到本系统软件在班级信息管理中的数据走向以及过程控制。2.学生基本信息管理流程图图 3-2 学生基本信息管理流程图图 3-2 是学生基本信息管理的流程图,通过这个图可以看到本系统软件在学生信息管理中的数据走向和过程控制。3.成绩管理流程图图 3-3 成绩管理流程图图 3-3 是成绩管理的流程图,通过这个图可以看到本系统软件在成绩管理中的数据走向和过程控制。2013 届本科生毕业设计 3 项目概要设计124.科目管理流程图图 3-4 成绩管理流
32、程图图 3-4 是科目管理的流程图,通过这个图可以看到本系统软件在科目管理中的数据走向和过程控制。3.4 数据库主要设计当前,很多系统都是使用 Microsoft SQL Server 作为后台数据库,并用 ODBC方法访问数据库,本系统采用的就是这种方法。Microsoft SQL Server 是一个支持多用户的数据库系统,适用于大中规模的数据量需求,完全能满足一所学校的需要,如开放式数据访问(ODBC)技术,可以高效、快速地开发出 Windows 环境下功能强大、图形界面丰富的应用软件系统。SQL 全称是“结构化查询语言(Structured Query Language)“,SQL 为
33、许多任务提供了命令,包括:数据查询、数据更新;在表中插入记录、在表中修改记录、在表中删除记录;建立、修改和删除数据对象;控制对数据和数据对象的存取;保证数据库一致性和完整性。以前的数据库管理系统为上述各类操作提供单独的语言,而SQL 将全部任务统一在一种语言中。所有用 SQL 编写的程序都是可以移植的。SQL是大多数关系型数据库用做查询语言的工具,它是可以移植的,并且容易使用,但是所有 SQL 语句都必须由数据库服务器独立地执行。2013 届本科生毕业设计 3 项目概要设计13本学生管理信息系统主要有以下几类:学生基本信息,科目信息,班级信息,科室信息,成绩信息,教师信息等等。系统数据库大体包
34、含如下信息表:1.学生信息表主要记录学生的各项基本信息,如姓名、性别、年龄、学号、住址、电话等,这个信息表是该系统有关学生信息操作的基础。2.学生成绩表主要记录每个学生在不同考试科目中的成绩。3. 科室信息表主要记录各个科室的名称。4科目信息表主要记录各个科目的名称和科目的代码。5. 班级信息表主要记录各个班级的班级名称以及班主任姓名。6. 班级科目表主要记录各个班级的班级名称以及相关科目的代码。7. 考试类别表主要记录不同的考试类别名称。8. 教师信息表主要记录教师的各项基本信息,如姓名、性别、科室、编号、学历、级别等,是其他有关教师信息处理操作的基础。1.科室信息表结构如表 3-1 所示:
35、表 3-1 科室信息表编号 字段名称字段类型字段宽度1 科室名称 CHAR 25表 3-1 中用字段类型为 char 的字段来表示科室名称是计算机更容易存储。2.学生信息表结构如表 3-2 所示:编号 字段名称 字段类型 字段宽度2013 届本科生毕业设计 3 项目概要设计14表 3-2 学生信息表表 3-2 中学生的属性有学号、姓名、性别、电话、住址以及年龄均在数据库中用不同长度的 char 数据类型表示,并存入计算机中。3.学生成绩表结构如表 3-3 所示:表 3-3 学生成绩表编号 字段名称 字段类型 字段宽度1 学生学号 CHAR 252 考试科目 CHAR 153 考试类别 LONG
36、 44 时间 LONG 45 成绩 LONG 4表 3-3 通过对主键学生学号的查询,就可以查出某学生有关考试科目、类别和时间和该生有效的考试成绩。4. 科目信息表结构如表 3-4 所示:表 3-4 科目信息表编号 字段名称 字段类型 字段宽度1 科目名称 CHAR 252 科目代码 LONG 4表 3-4 在科目信息表数据库中,科目代码和科目名称两个属性分别使用 char 和long 数据类型进行存储和表示。5. 班级信息表结构如表 3-5 所示:表 3-5 班级信息表编号 字段名称 字段类型 字段宽度1 班级名称 CHAR 252 班主任姓名 CHAR 25表 3-5 在班级信息表数据库中
37、,班级名称和班主任姓名两个属性都使用 char 数1 学生学号 CHAR 152 学生姓名 CHAR 103 性别 CHAR 24 电话 CHAR 105 住址 CHAR 506 班级 CHAR 207 年龄 CHAR 42013 届本科生毕业设计 3 项目概要设计15据类型进行表示和存储。6. 班级科目表结构如表 3-6 所示:表 3-6 班级科目表编号 字段名称 字段类型 字段宽度1 班级名称 CHAR 252 科目代码 LONG 4表 3-6 在数据库中班级的科目表,班级名称和科目代码两个已有的属性进行信息存储,通过查询方式可以查到相关信息。7. 考试类别表结构如表 3-7 所示表 3-
38、7 考试类别表编号 字段名称 字段类型 字段宽度1 考试类别名称 CHAR 25在表 3-7 中,考试类别名称唯一属性使用 char 数据类型进行信息存储,通过该属性就可以识别各种设置过的考试类别。8. 教师信息表结构如表 3-8 所示表 3-8 教师信息表编号 字段名称 字段类型 字段宽度1 教师编号 CHAR 152 教师名称 CHAR 103 性别 CHAR 24 学历 CHAR 105 科室 CHAR 506 级别 CHAR 20在表 3-8 中,设置了教师编号、教师名称、性别、学历、科室、级别等多种属性,选择上表所示的数据类型对所有属性进行存储。2013 届本科生毕业设计 4 项目实
39、现164. 项目实现4.1 各个功能的具体实现关键的代码:class CClassinfodlg : public CDialog/ Constructionpublic:virtual void OnOK();CClassinfodlg(CWnd* pParent = NULL); / standard constructorbool DisplayRecord();CClassinfoset* myclassinfoset;CStudentinfoset* myclassinfoset_findref;CToolBar m_ToolBar;/ Dialog Data/AFX_DATA(CC
40、lassinfodlg)enum IDD = IDD_DIgclassinfo ;CString m_classname;CString m_classteacher;/AFX_DATA/ Overrides/ ClassWizard generated virtual function overrides/AFX_VIRTUAL(CClassinfodlg)protected:virtual void DoDataExchange(CDataExchange* pDX); / DDX/DDV support/AFX_VIRTUAL/ Implementationprotected:/ Gen
41、erated message map functions/AFX_MSG(CClassinfodlg)virtual BOOL OnInitDialog();afx_msg void Onclassinfotoolbaradd();afx_msg void Onclassinfotoolbardel();afx_msg void Onclassinfotoolbarfirst();afx_msg void Onclassinfotoolbarlast();2013 届本科生毕业设计 4 项目实现17afx_msg void Onclassinfotoolbarnext();afx_msg vo
42、id Onclassinfotoolbarpre();afx_msg void Onclassinfotoolbarsave();afx_msg void OnClose();/AFX_MSGDECLARE_MESSAGE_MAP();/AFX_INSERT_LOCATION/ Microsoft Visual C+ will insert additional declarations immediately before the previous line.#endif / !defined(AFX_CLASSINFODLG_H_1F6F8D3E_B7E1_4FA7_A188_8D11C0
43、2FC9DB_INCLUDED_)#if !defined(AFX_CLASSINFOSET_H_14B9286D_2327_44BC_9A70_6A784E9C8075_INCLUDED_)#define AFX_CLASSINFOSET_H_14B9286D_2327_44BC_9A70_6A784E9C8075_INCLUDED_#if _MSC_VER 1000#pragma once#endif / _MSC_VER 1000/ Classinfoset.h : header file/ CClassinfoset recordsetclass CClassinfoset : pub
44、lic CRecordsetpublic:CClassinfoset(CDatabase* pDatabase = NULL);DECLARE_DYNAMIC(CClassinfoset)/ Field/Param Data/AFX_FIELD(CClassinfoset, CRecordset)CString m_classname;CString m_teacher;/AFX_FIELD2013 届本科生毕业设计 4 项目实现18/ Overrides/ ClassWizard generated virtual function overrides/AFX_VIRTUAL(CClassi
45、nfoset)public:virtual CString GetDefaultConnect(); / Default connection stringvirtual CString GetDefaultSQL(); / Default SQL for Recordsetvirtual void DoFieldExchange(CFieldExchange* pFX); / RFX support/AFX_VIRTUAL/ Implementation#ifdef _DEBUGvirtual void AssertValid() const;virtual void Dump(CDumpC
46、ontext#endif;/AFX_INSERT_LOCATION/ Microsoft Visual C+ will insert additional declarations immediately before the previous line.#endif / !defined(AFX_CLASSINFOSET_H_14B9286D_2327_44BC_9A70_6A784E9C8075_INCLUDED_)#if !defined(AFX_EXAMINFO_SUBMARKDLG_H_214923BB_3D93_4993_88AB_D5FAD4C8BFD3_INCLUDED_)#d
47、efine AFX_EXAMINFO_SUBMARKDLG_H_214923BB_3D93_4993_88AB_D5FAD4C8BFD3_INCLUDED_#if _MSC_VER 1000#pragma once#endif / _MSC_VER 1000/ Examinfo_submarkdlg.h : header file/#include “Examinfo_submarkset.h“#include “Studentinfoset.h“/ CExaminfo_submarkdlg dialogclass CExaminfo_submarkdlg : public CDialog/ Construction2013 届本科生毕业设计 4 项目实现19public:virtual void OnOK();CExaminfo_submarkdlg(CWnd* pParent = NULL); / standard constructorCExaminfo_submarkset