计算机专业课程设计-试卷自动生成系统

合集下载

manual

manual

七、关键技术及难点
若要实现在线考试、随机组卷等功能, 核心问题是如何保证从题库中抽取高质量 满足要求的题目。
所谓高质量题目是指题目质量是否达到 教学大纲要求、是否符合教学计划要求,是 否符合教育学等的要求,也就是说我们在建 设题库时要对每一个题目进行标识。
满足要求是指如何从题库中取题组成试 卷,包括每一种题型的数量、每一章的题目 数量、题目难度、大纲要求等,保证在同一 张试卷中不出现相似知识点的题目,这是组 卷最大的难点。
①学习功能:学生利用题库系统可实现自 主学习、随机学习,模拟测试等。
②在线考试功能:通过从题库中随机或自 动生成试卷,实现在线考试。
③在线阅卷功能:授权人员可实现在线阅 卷评分。
④组卷功能:可以实现半自动手工组卷、全 自动随机组卷。
⑤试卷及标准答案导出功能:对系统生成 的试卷及其标准答案,可导出为标准化 word式样。
4.难度:是指题库题目的难易程度,由系统进行了预 设置,课程用户不能自行设置。目前设置了较易、适 中、较难三种,用户录入题目时可以自行选择。
5.大纲要求:是指题库题目牵涉的内容在教学大纲中 的要求,课程用户不能自行设置。目前设置了掌握、 熟悉、了解三种,用户录入题目时可以自行选择。
6.标识符:是用来区分题库题目在教学与考试时类别 的标识,也是系统自动组卷时的唯一标识,标识符的 运用是本题库实现自动组卷的关键。一般来讲标识符 应按知识点来标识,相同知识点的题目(或相互关联的 题目),标识符应相同,这样在自动组卷时一张试卷将 不会出现相同知识点的题目。标识符用四位符号来表 示,只能是字母、数字及下划线,目前设置为按章来 标识。手工组卷时,系统自动关闭标识符项,不进行 此项判断。
生成试卷 导出成绩
六、应用案例

计算机控制系统课程设计--- 最少拍控制系统设计

计算机控制系统课程设计--- 最少拍控制系统设计

能源与动力工程学院课程设计报告题目:最少拍控制系统设计课程:计算机控制技术课程设计专业:电气工程及其自动化班级:电气0902 姓名:孙威学号: 091302224第一部分任务书《计算机控制技术》课程设计任务书一、课题名称最少拍控制系统设计二、课程设计目的课程设计是课程教学中的一项重要内容,是达到教学目标的重要环节,是综合性较强的实践教学环节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质具有很重要的意义。

《计算机控制技术》是一门理论性、实用性和实践性都很强的课程,课程设计环节应占有更加重要的地位。

计算机控制技术的课程设计是一个综合运用知识的过程,它需要控制理论、程序设计、硬件电路设计等方面的知识融合。

通过课程设计,加深对学生控制算法设计的认识,学会控制算法的实际应用,使学生从整体上了解计算机控制系统的实际组成,掌握计算机控制系统的整体设计方法和设计步骤,编程调试,为从事计算机控制系统的理论设计和系统的调试工作打下基础。

三、课程设计内容设计以89C51单片机和ADC 、DAC 等电路、由运放电路实现的被控对象构成的计算机单闭环反馈控制系统。

1. 硬件电路设计:89C51最小系统加上模入电路(用ADC0809等)和模出电路(用TLC7528和运放等);由运放实现的被控对象。

2. 控制算法:最少拍控制。

3. 软件设计:主程序、中断程序、A/D 转换程序、滤波程序、最少拍控制程序、D/A 输出程序等。

四、课程设计要求1. 模入电路能接受双极性电压输入(-5V~+5V ),模出电路能输出双极性电压(-5V~+5V )。

2. 模入电路用两个通道分别采集被控对象的输出和给定信号。

3. 每个同学选择不同的被控对象:510(),()(1)(0.81)(1)(0.41)G s G s s s s s ==++++ 45(),()(0.41)(0.81)G s G s s s s s ==++ 58(),()(1)(0.21)(0.81)(0.21)G s G s s s s s s s ==++++55(),()(0.81)(0.31)(0.81)(0.21)G s G s s s s s ==++++4. 设计无纹波最少拍控制器。

某学校的题库管理系统数据库系统设计

某学校的题库管理系统数据库系统设计

《某高校的题库管理系统》课程设计报告题目:某学校的题库管理系统专业:班级:姓名:指导教师:成绩:计算机学院目录一.设计内容与要求 (1)1.设计内容 (1)2.设计要求 (1)二.概要设计 (1)三.系统详细设计 (2)3.1 普通考试的标准化 (2)3.2 本系统的业务流程图 (2)3.3 数据流程图见图(2)、图(3)、图(4) (3)3.4 数据字典 (5)四.系统测试 (9)4.1 系统功能结构设计 (9)4.2 输入输出设计 (10)4.2.1试题管理 (10)4.2.2试题导入 (10)4.2.3备份与恢复 (11)4.3试卷管理 (11)4.4系统初始化 (12)4.4.1题型管理 (12)4.4.2知识点管理 (12)4.4.3人员管理 (13)4.4.4修改密码 (13)五.总结 (13)六.参考文献 (14)1.设计内容与要求1.设计内容本课题的研究内容,预计可能遇到的问题,提出解决问题的方法和措施。

基本内容:本课题的研究对象试题库管理模块的设计和实现。

以下具体功能的介绍:(1):用户登录功能:验证用户登录的合法性,本系统分为教师登录和学生登录两种模式,从数据库中匹配相对应的用户信息,成功登录后自动跳转到主菜单页面(2):用户管理:实现添加操作用户、修改用户信息、删除用户等操作。

(3):题库管理:实现分类别、修改题库中的题目,包括题目的添加、修改、删除。

题库管理系统中还包括题库的导出功能即实现分类别把题库中的题目导出到Microsoft Word中,从而轻松实现排版和打印。

(4)试卷管理:实现试卷的生成与排版功能。

课题难点:如何使系统更加完善,高效的运行,操作更加的便捷。

难点在于如何使用好控件,使系统能够访问到Access数据库,以及浏览数据库!还有如何创建新文档并将生成的试卷和答案显示在新文档中!解决问题的方法和措施:参考相关方面的书籍,综合运用data特性,office 控件等,通过代码链接到Access数据库!实现两者的互连!2.设计要求(1)保证资源的合理使用、避免浪费(2)用计算机实现题目及试卷的管理可以比传统的人工选题、出题,节省大量的人力和物力资源,帮助提高教学质量,并加速了办公自动化、无纸化的实现。

计算机控制技术课程设计-电阻炉温度控制系统设计

计算机控制技术课程设计-电阻炉温度控制系统设计

合肥工业大学《计算机控制技术》课程设计——电阻炉温度控制系统设计学院专业姓名学号_______ ________ _完成时间摘要:电阻炉的类型根据其热量产生的方式不同,可分为间接加热式和直接加热式两大类。

间接加热式电阻炉,就是在炉子内部有专用的电阻材料制作的加热元件,电流通过加热元件时产生热量,再通过热的传导、对流、辐射而使放置在炉中的炉料被加热。

直接加热式电阻炉,是将电源直接接在所需加热的材料上,让强大的电流直接流过所需加热的材料,使材料本身发热从而达到加热的效果。

工业电阻炉,大部分采用间接加热式,只有一小部分采用直接加热式。

由于电阻炉具有热效率高、热量损失小、加热方式简单、温度场分布均匀、环保等优点,应用十分广泛.关键词:炉温控制;高效率;加热一、总体方案设计本次课程设计主要就是使用计算机以及相应的部件组成电阻炉炉温的自动控制系统,从而使系统达到工艺要求的性能指标。

1、设计内容及要求电阻加热炉用于合金钢产品热力特性实验,电加热炉用电炉丝提供功率,使其在预定的时间内将炉内温度稳定到给定的温度值。

在本控制对象电阻加热炉功率为8KW,有220V交流电源供电,采用双向可控硅进行控制。

2、工艺要求及要求实现的基本功能本系统中所选用的加热炉为间接加热式电阻炉,控制要求为采用一台主机控制8个同样规格的电阻炉温度;电炉额定功率为20 kW;)恒温正常工作温度为1000℃,控温精度为±1%;电阻炉温度按预定的规律变化,超调量应尽可能小,且具有良好的稳定性;具有温度、曲线自动显示和打印功能,显示精度为±1℃;具有报警、参数设定、温度曲线修改设置等功能。

3、控制系统整体设计电阻炉温度计算机控制系统主要由主机、温度检测装置、A/D转换器、执行机构及辅助电路组成.系统中主机可以选用工业控制计算机、单片微型计算机或可编程序控制器中的一种作为控制器,再根据系统控制要求,选择一种合理的控制算法对电阻炉温度进行控制。

计算机网络课程设计报告

计算机网络课程设计报告

计算机网络课程设计报告一、设计背景。

计算机网络课程设计是计算机专业学生的重要课程之一,通过该课程的学习,学生可以系统地了解计算机网络的基本原理、技术和应用,培养学生的计算机网络设计和应用能力。

本次课程设计旨在通过实际操作,帮助学生深入理解计算机网络的知识,提高他们的实际动手能力和解决问题的能力。

二、设计目标。

1. 理论与实践相结合,通过设计,使学生能够将所学的理论知识应用到实际的网络设计中,提高他们的实际操作能力。

2. 提高解决问题的能力,设计中设置一些难点和问题,引导学生思考和解决,提高他们的问题解决能力。

3. 培养团队协作精神,设计中设置一些需要团队合作的任务,培养学生的团队协作意识和能力。

三、设计内容。

1. 网络拓扑设计,要求学生设计一个小型局域网的网络拓扑结构,包括主机、交换机、路由器等设备的连接方式和布局。

2. IP地址规划,要求学生为局域网中的每台主机和设备规划合理的IP地址,要求考虑到网络的扩展性和管理的便利性。

3. 网络服务配置,要求学生配置局域网中的基本网络服务,如DHCP服务、DNS服务等,使局域网内的主机能够正常通信和访问互联网。

4. 网络安全设置,要求学生设置基本的网络安全策略,包括防火墙配置、访问控制策略等,保障局域网的安全和稳定运行。

5. 网络故障排除,设计一些故障场景,要求学生能够快速定位和解决网络故障,提高他们的故障排除能力。

四、设计要求。

1. 设计报告,学生需要提交完整的设计报告,包括设计思路、实施步骤、配置截图等内容。

2. 实际操作,学生需要在实际的网络设备上进行配置和实验,完成设计要求。

3. 问题解答,学生需要对设计中遇到的问题进行解答和总结,形成经验和教训。

五、设计评价。

1. 设计报告评价,评价学生的设计报告是否完整、清晰、符合要求。

2. 实际操作评价,评价学生的实际操作能力和解决问题的能力。

3. 问题解答评价,评价学生对设计中遇到的问题的解答和总结是否合理、深入。

课程设计说明书--1-100以内猜数游戏

课程设计说明书--1-100以内猜数游戏

计算机与通信学院软件职业技术学院课程设计说明书1-100以内猜数游戏作者:学号:专业:软件技术班级:软件2班指导教师:答辩时间:1-100以内猜数游戏刘正翔11700215摘要本设计将一个1-100以内的猜数字游戏作为研究对象。

设计出一个有系统随机选出一个1-100的数字不显示出来,由玩家猜这个数字,直到猜中为止,并显示出玩家猜中数字所用时间和次数对玩家做出评判,并对所涉及的相关技术进行初步的探讨。

程序运行就进入游戏玩家就可以进行数字猜猜看了。

关键字:数字游戏 java代码目录一、设计任务与要求 (1)1.1课程设计的任务 (1)1.2课程设计的要求 (1)二、需求分析 (1)2.1 用户需求分析 (1)三、设计思路 (2)3.1 系统总体设计 (2)3.2 功能模块设计 (3)四、详细设计 (6)4.1 程序流程图 (6)4.2 关键算法与技术实现 (7)4.3 类与数据结构实现 (16)五、运行调试与分析讨论 (17)5.1 系统测试方案 (17)5.2 运行结果分析 (17)六、设计体会与小结 (21)致谢 (23)七、参考文献 (24)一、设计任务与要求1.1课程设计的任务根据所选题目,完成课程设计的分析、设计和编码,写出课程设计报告。

(1)掌握Java的语言规范,面向对象的核心概念和特性;(2)掌握Java的编程技术,包括异常处理,图形界面设计,多线程,网络通信程序等;(3)掌握Java应用软件的开发环境和开发过程;(4)掌握面向对象的思想和程序设计方法。

1.2课程设计的要求设计一个猜数字游戏程序,该游戏可以由程序随机产生整数,玩游戏者通过由用户输入数字来匹配上面所产生的数字。

用户随机输入数字,当与计算机产生的随机数相符合时,计算机将提醒用户,游戏成功的信息,当有偏差时,将会提醒偏差,如偏大或者是偏小。

二、需求分析2.1 用户需求分析设计一个猜数字游戏程序,要求具体如下特性:(1)趣味性:要求游戏内容丰富多彩,语言风趣幽默。

VB上机操作题自动判分程序评分标准的自动生成

VB上机操作题自动判分程序评分标准的自动生成
第2 O卷
第 4期






Vo. O No 4 12 .
21 0 0年 4月
J OUR NAL OF C HANG CHUN UN VE I Y I RS T
Ap .2 0 r 01
V B上机操作题 自动判分程序评分标准的 自动生成
董迎红 ,刘 刚,宋雅娟
( 长春大学 计 算机科学技术学 院,吉林 长春 10 2 ) 3 0 2

= Cb T xt C 2 2. e 。 b


C c( 1 签L l k' I 一 1 i l… 标 宇 。
’ ’ 。
l I . “:z 号属性设置I ? e-C1Tx。 lCLk) L.otie-C1Tx。b—lc(Il 1 岱强J tt b.etC —lc(1 1Fn¥z b  ̄ 1 b. tClCik)1标签L字 e
组合框 的 lt ,代码” i值 “ s 类型主要针对窗体或控件的事件代码 , 输出” “ 类型主要是针对程序的运行结果而
设定。
在属性及值信息部分主要是设定考察的有关控件的相关属性及属性值设定信息。针对不同的类型 , 这 部 分信息 不尽 相 同。
材, 就可 自动生成 评 分标准 。
1 V B上机操作题评分标 准格式
要 想 实现对 于 V B上 机操作 题 的 自动判 分 , 须对每 种题 目有 一定 的评分 标准 , 得判 分 程序 可按 评分 必 使 标准 自动判 分 , 1即为 某个 V 图 B上机 操作题 的评 分标准 格式 [ ] 2 。评 分标 准一般 设定 为文本 格式 。
主要语种 。
Vsa Bs 程 序设计 主要 注重对 学生 实践 动 手能 力 的 培养 , 了 能够 提供 一 个很 好 的学 习平 台 , 开 i l ai u c作题 目的 自动判 分 。判分标 准可 以手工 生成 , 可 但会 额外增 加题库 维 护 人员 的工作量 , 容易 出现错误 。 为此设 计 了评 分 标 准 自动生 成 程 序 , 并 用户 只需 给 出原 始 素 材 和结 果 素

14计算机科学与技术(专升本)-操作系统-课程设计教学大纲

14计算机科学与技术(专升本)-操作系统-课程设计教学大纲

《操作系统》课程设计教学大纲英文名称: Operating System课程编码:C047101计划周数:1周课程设计学分:1学分先修课程:计算机导论,高级语言程序设计,数据结构,汇编语言程序设计适用专业:计算机科学与技术(专升本)开课单位:计算机科学与技术系撰写人:何爱华审核人:姚保峰制定时间:2014年8月一、本课程设计的性质与目的《操作系统》是计算机科学与技术(专升本)专业的核心专业课,“操作系统课程设计”是理解和巩固操作系统基本理论、原理和方法的重要的实践环节。

《操作系统》课程主要讲述的内容是计算机操作系统的基本原理及组成,操作系统中常用的设计技巧和方法。

它与计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。

本课程设计的目的综合应用学生所学知识,建立系统和完整的计算机系统概念,理解和巩固操作系统基本理论、原理和方法;在算法基础上,解决实际问题,提高学生实际应用、编程的能力。

二、本课程设计的主要内容实验的内容侧重于对操作系统原理的模拟实现,主要包括对进程管理、内存管理、文件系统和设备管理的实践内容。

主要任务是实现操作系统和相关系统软件的设计,其中涉及进程创建,同步,进程间的通信,存储管理,文件系统等操作系统概念。

,主要内容如表1所示:表1 课程设计内容序号内容1 进程的管道通讯;编制一个程序,程序中创建一个子进程。

然后父子进程各自独立运行,父进程不断地在标准输入设备上读入小写字母,写入管道。

子进程不断地从管道中读取字符,转换为大写字母后输出到标准输出设备上。

当读到x时,结束。

2 信号量实现的同步互斥机制:编制一个程序,程序中创建5个子进程,代表五位哲学家,然后父进程结束。

使用信号量机制解决哲学家进餐问题。

3 页面置换算法:请求页式管理是一种常用的虚拟存储管理技术。

本设计通过请求页式存储管理中页面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式管理的页面置换算法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

燕山大学专业课程综合设计报告学院里仁学院年级专业08计算机2班学生姓名赵鑫学号0813********指导教师于家新设计日期2011年9 月26日—2011年10月14日专业课程综合设计报告1、设计任务以任何一门课程为例,能够以手工或自动方式,将该课程的每道试题录入到系统之中,并且通过设置参数,自动地生成一份试卷。

该试卷的题型可以分为选择题(包括单选和多选)、填空题、简答题、计算题等。

要求使用者能够通过系统,对所需要的题型、每种题型试题的数量、每道题的分值、每道题的难度进行设定,自动地生成一个word版本的试卷,该试卷格式符合一般试卷标准。

2、设计思想通过用access 数据库录入题库信息,然后通过Visual C++的界面显示出来,用户可以在Visual C++的界面添加试题,删除试题,按照一定的条件搜索试题,可以自动生成试卷和手动生成试卷,并导入word文档现实出来。

2.1 功能需求分析本系统是题库与试卷生成系统,主要有三方面的功能需求,其分别是:(1)题库管理:为了用户能方便管理庞大的试题题库,实现各种常用或者自定义题型的录入、修改、查询、删除等功能。

(2)手动生成试卷:用户可以对权限范围内的科目进行手动组卷。

选定科目后,选择共需几道大题、试卷的总分值、每道大题的题型、每大题包含小题的数量及每道大题的分值;对于每道大题需进入“选择试题”模块浏览试题库中的对应题型从中手动选择所需试题。

由于题库中题量较大,可以进行搜索查询,亦可将试题导出至word文档进行浏览,选择试题完毕后保存回到“手动组卷”模块。

(以上全部为必须操作)。

组卷后选择是否保存试卷。

试卷生成后可以将试卷和答案导出至word 文档。

再次选定科目后清除上一次的显示结果自动进入下一次的手动组卷模式。

(3) 自动生成试卷:用户可以对权限范围内的科目进行自动组卷。

选定科目后,选择共需几道大题、试卷的总分值、每道大题的题型、每大题包含小题的数量及每道大题的分值(以上为必选);对于每道大题可以进入“选择题目范围及难度”模块对题目进行范围和难度的限制(可选)。

组卷后选择是否保存试卷。

试卷生成后可以将试卷和答案导出至word 文档。

再次选定科目后清除上一次的显示结果进入下一次的自动组卷模式。

3、设计过程3.1系统流程分析本系统有两类用户使用,分别是系统管理员和一般管理员。

系统管理员负责管理系统帐号和系统的其他全部功能;一般管理员不能管理用户但是可以更新维护题库,按需求生成和保存打印试题等。

系统流程如图3-1所示:图3-1用户题型表试题表课程表章节表用户题库用户自动生成组卷手动生成组卷3.2 数据流程分析该系统的数据流程分为两部分,图3-2为顶层数据流程图,用户由各种类型的试题根据相应需求生成试卷。

图3-3为第二层的数据流程图,是对顶层数据流程的分解,将试卷的生成分为手动生成和自动生成。

图3-2 顶层数据流程图图3-3 第二层数据流程图3.3系统设计3.3.1 系统总体设计目标本系统是根据题库管理与试卷生成系统的具体需求应用而开发的,能够实现题库管理与试卷生成的工作,系统的开发主要要实现的目标有以下几个方面:用户试卷生成处理试题信息表自动生成组卷、手动生成组卷用户题型设置题库设置试题录入自动生成组卷手动生成组卷题型试题章节题库课程题型信息表课程信息表章节信息表手动生成组卷自动生成组卷(1) 灵活多样的组卷方式,如手工组卷和自动组卷。

(2) 既能临时生成试卷,又能直接使用以前生成的试卷,也就是要求能对生成的试卷进行保存,以便下次直接使用,并能删除不再需要的试卷。

(3) 试卷的保密性要求,只有授权人员才能生成和查阅试卷。

(4) 试卷生成速度不宜太慢。

(5) 生成的试卷按照规定的模板输出,并能导出到word 文档中。

(6) 生成的试卷既可以直接打印,也可以在word 中修改和打印。

(7) 友好的用户界面。

3.3.2 系统总体功能模块设计本系统主要功能是为使用者提供一个简单快捷的试题录入、删除、修改、查询、浏览,快速组卷及试卷管理的软件系统。

系统模块分为以下几个部分,如图3-4所示:图3-4题库管理与试卷生成系统题库功能系统功能试卷功能帮助与关于密码管理用户管理课程管理题型管理试题管理试卷管理手动组卷自动组卷系统关于系统帮助添加试题修改试题保存试题删除试题添加新题型删除现有题型删除现有科目添加新科目预览现有试卷及答案删除现有试卷及答案手动抽取试题组卷随机抽取试题组卷3.4 结构设计3.4.1登陆模块设计(1)登陆模块结构图该模块包括用户管理模块和用户密码管理模块。

系统启动时调用此模块,要求用户先进行登陆。

登录模块结构如图3-5所示:图3-5(2)界面设计“登录”界面是用户进入主界面的路径,由三个静态文本框控件和两个Edit Box 控件,两个按钮控件和一个Combo Box 控件组成。

如图3-6所示:图3-6欢迎界面登陆失败三次退出登录进入主界面(3)属性设置三个静态文本框的Caption属性分别为:登录方式、用户名、密码。

Combo Box的Data属性为:系统管理员\n普通管理员\n一般用户。

“密码:”静态文本框对应的Edit Box的Style的Password属性为选中状态。

两个按钮控件的Caption属性分别为:登录系统和取消登录。

(4)功能在[登录方式]处选择以何种身份登录,在[用户名]和[密码]处键入正确的用户名和密码,确定后进入系统主窗口。

如果键入的用户名或密码错误,系统将出现错误提示,然后重新键入。

输入错误超过三次,自动退出系统。

3.4.2 系统主要模块设计系统登录成功后进入主系统主窗口,系统主窗口显示了系统的主要功能,如图3-7所示:图3-7该界面可以实现试题的查询搜索、试题添加、试题删除、试题修改、试题浏览。

点击自动生成,可以实现根据选题数目、选题类型、计算总分可以自生成一份试卷,导入到word文档中。

3.5数据库模型数据库设计是在选定的数据库管理系统基础上建立数据库的过程。

所有数据包含在一个access数据库中,数据库名为题库。

设计表如下:用户登录信息表:存储用户的详细信息,包括用户名、用户密码、用户权限和管理科目。

题目类型信息表:存储题目类型的信息,包括题目类型编号和题目类型名称。

科目信息表:存储各个科目的信息,包括科目编号和科目名称。

试题信息表:存储试题的信息,包括试题编号、类型、难度、所属章节、内容和答案。

已组试卷信息表:存储已组试卷的信息,例如试卷编号、方案编号等信息。

成套试卷信息表:存储成套试卷的信息,例如试卷编号、创建人、创建时间等信息。

实体E-R图本系统的实体有:用户实体、试题实体,各个实体具体的描述E-R图如图3-8、图3-9所示。

用户用户名密码用户权图3-8 用户实体E-R图图3-9 试题实体E-R 图3.5.1 数据库的存储结构本系统采用access 2003 数据库,系统数据库名为题库,数据库题库中包括5个数据表。

(1)用户表Admin ,主要用来存储系统管理员的相关信息,表结构如表3-10:表3-10 Admin 表字段名 数据类型 长度 是否主键 用户名 文本 50 是 密码 数字 50 权限文本50(2)用户表Teacher ,主要用来存储一般管理员的信息,表结构如表3-11:表3-11 Teacher 表字段名 数据类型 长度 是否主键 用户名 文本 50 是 密码 文本 50 权限文本50(3)试题信息表,主要用来存储题库中的试题,表结构如表3-12:试题题干答案课程章节难度图片类型选择题号表3-12 试题信息表字段名数据类型长度是否主键题号自动编号8 是题干文本300答案文本300课程名文本50章节文本50图片路径文本100难度文本50类型文本50是否被选是、否 1(4)题型表,用来存储动态生成试题类型,表结构如表3-13:表3-13 题型表字段名数据类型长度是否主键类型文本50 是(5)课程表,用来存储课程相关信息,表结构如表3-14:表3-14 课程表字段名数据类型长度是否主键试题章节文本50 是如图3-15所示:图3-153.5.2 连接数据库点击鼠标右键,点击添加部件,出现如下图3-16界面,选择Microsoft ADO Control 6.0(SP6)和Microsoft Hierarchi FlexGrid Control 6.0。

图3-16添加这两个部件,将鼠标移至Adodc1,在属性页的通用页面中选中链接字符串,点击生成,选择想要链接的数据库名称,测试连接,出现链接成功提示。

过程如图3-17所示:图3-17回到属性页,选择记录源,将命令类型设置为adCmdTable,,并在表或存储过程名称中选择要链接的表的名称。

如图3-18所示:图3-18回到form页面,点击部件MSHFlexGrid1,在其属性窗口DataSource项选择Adodc1,编译之后即可看出链接成功,如图3-19所示:图3-193.6 程序代码如下:(1)添加试题:Private Sub Command1_Click()Adodc1.Recordset.AddNewAdodc1.Recordset("试题类型").Value = Text1.TextAdodc1.Recordset("试题分值").Value = Text2.TextAdodc1.Recordset("试题难度").Value = Text3.TextAdodc1.Recordset("试题章节").Value = Text4.TextEnd Sub(2)删除试题Private Sub Command2_Click()Adodc1.Recordset.DeleteAdodc1.Recordset.MoveNextAdodc1.RefreshAdodc1.RefreshMsgBox "记录删除成功!", , "提示"End Sub(3)更新试题Private Sub Command3_Click()Adodc1.Recordset.UpdateAdodc1.RefreshEnd Sub(4)(关闭窗口)Private Sub Command4_Click()Unload MeEnd Sub(5)搜索功能Private Sub Command5_Click()If Text5.Text <> "" ThenAdodc1.RecordSource = "SELECT * from 试题信息表where " & Combo1.Text & " like " & Text5.Text & "'"Debug.Print Adodc1.RecordSourceAdodc1.RefreshElseMsgBox "没有" & Combo1.Text & "查询的数据", vbInformation + vbCritical, "提示"End IfEnd Sub(6)查看首条记录Private Sub Command6_Click()Adodc1.Recordset.MoveFirstEnd Sub(7)查看上一条记录Private Sub Command7_Click()Adodc1.Recordset.MovePreviousIf Adodc1.Recordset.BOF ThenAdodc1.Recordset.MoveFirstMsgBox "这已是第一条了", vbOKOnly + vbExclamation, "提示"End IfEnd Sub(8)查看下一条记录Private Sub Command8_Click()Adodc1.Recordset.MoveNextIf Adodc1.Recordset.EOF ThenAdodc1.Recordset.MoveLastMsgBox "这已是最后一条了", vbOKOnly + vbExclamation, "提示"End IfEnd Sub(9)查看末记录Private Sub Command9_Click()Adodc1.Recordset.MoveLastEnd Sub(10)实现在复选框中查询关机词的功能Private Sub Form_Load()Combo1.AddItem ("试题类型")Combo1.AddItem ("试题分值")Combo1.AddItem ("试题难度")Combo1.AddItem ("试题章节")Combo1.ListIndex = 0Text5.Text = ""End Sub(11)生成组卷代码Dim TempRec1 As New ADODB.RecordsetDim A1 As StringDim MyWord As Word.ApplicationDim WordDoc As Word.DocumentDim BTextBoxDim MyRange As Word.RangeDim MyTable As Word.TableDim MyCell As Word.CellDim MyCells As Word.CellsDim MyCols As Word.ColumnsDim A() As StringDim B() As StringDim ColN As IntegerDim ArrBytes() As ByteDim FreeFileNumber As IntegerDim Lngsize As LongSet TempRec1.ActiveConnection = DBConIf Combo1.ListIndex = -1 ThenMsgBox "没有选择试卷名称,不能生成试卷!", vbOKOnly, "提示"Exit SubEnd IfTempRec1.Open "select id from sjtx where sjbm='" & SjbmArry(Combo1.ListIndex + 1) & "'"If TempRec1.RecordCount = 0 ThenMsgBox "没有选择试卷题型顺序,不能生成试卷!", vbOKOnly, "提示"Exit SubEnd IfTempRec1.CloseLoad Form13Form13.Height = 810Form13.Width = 4680CenterForm Form13, MDIForm1Form13.ShowMe.Enabled = False创建新文档On Error GoTo ErrorEndStart:Set WordDoc = MyWord.Documents.AddIf Option1.Value ThenWith WordDoc.PageSetupPageHeight = InchesToPoints(11.69)PageWidth = InchesToPoints(8.27)End WithEnd IfIf Option2.Value Then试卷分栏设置WordDoc.PageSetup.TogglePortraitWith WordDoc.PageSetupPageHeight = InchesToPoints(11.69)PageWidth = InchesToPoints(16.54)End WithWordDoc.PageSetup.TextColumns.SetCount NumColumns:=2WordDoc.PageSetup.TextColumns.Spacing = CentimetersToPoints(4)End If插入试卷名称 = "宋体"MyWord.Selection.Font.Size = 16A1$ = Trim(Combo1.Text)MyWord.Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter MyWord.Selection.TypeText A1$MyWord.Selection.TypeText Chr(13)插入科目名称 = "宋体"MyWord.Selection.Font.Size = 15A1$ = "《" & Trim(Combo2.Text) & "》" + Chr(13)MyWord.Selection.Font.Bold = TrueMyWord.Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter MyWord.Selection.TypeText A1$MyWord.Selection.Font.Bold = False插入注意事项If TempRec1.State = 1 ThenTempRec1.CloseEnd IfTempRec1.Open "select Zysx from Sjbt where Sjbm='" & SjbmArry(Combo1.ListIndex + 1) & "'"If TempRec1.RecordCount = 0 ThenMsgBox "没有找到试卷的注意事项,不能生成试卷!", vbOKOnly, "提示"GoTo ErrorEndEnd IfA1$ = TempRec1.Fields("Zysx").Value = "黑体"MyWord.Selection.Font.Size = 10.5MyWord.Selection.ParagraphFormat.Alignment = wdAlignParagraphLeft MyWord.Selection.TypeText A1$ = "宋体"从Sjtx表中提取题型名称、数量、附加说明If TempRec1.State = 1 ThenTempRec1.CloseEnd IfTempRec1.Open "select tx.txmc,Sjtx.Fzap,Sjtx.Fjsm from Sjtx,Tx where Sjtx.Txbm=tx.txbm and Sjtx.Sjbm='" & SjbmArry(Combo1.ListIndex + 1) & "' order by sjtx.ID"If TempRec1.RecordCount = 0 ThenMsgBox "没有找到试卷所属题型,不能生成试卷!", vbOKOnly, "提示"GoTo ErrorEndEnd IfColN = TempRec1.RecordCountIf ColN < 12 ThenReDim A(1 To TempRec1.RecordCount, 1 To 3)TempRec1.MoveFirstFor i = 1 To TempRec1.RecordCountA(i, 1) = TempRec1.Fields("Txmc").ValueIf TempRec1.Fields("Fzap").Value <> "" ThenA(i, 2) = TempRec1.Fields("Fzap").ValueElseA(i, 2) = ""End IfIf Trim(TempRec1.Fields("Fjsm").Value) <> "" ThenA(i, 3) = TempRec1.Fields("Fjsm").ValueElseA(i, 3) = ""End IfTempRec1.MoveNextNextTempRec1.Close将对应数学数字转换成中文数字ReDim B(1 To ColN)TempRec1.Open "select Zwsz from SdZ"TempRec1.MoveFirstFor i = 1 To ColNB(i) = TempRec1.Fields("Zwsz").ValueTempRec1.MoveNextNextTempRec1.Close创建表格将对应题目标号填写到表中Set MyTable = MyWord.Selection.Tables.Add(MyWord.Selection.Range, 2, ColN + 2)Set MyCols = MyTable.Columns设置列宽MyCols(1).Width = 46.5列宽通过320/列数获取For i = 1 To ColNIf Option1.Value ThenMyCols(i + 1).Width = 330 \ ColNEnd IfIf Option2.Value ThenMyCols(i + 1).Width = 370 \ ColNEnd IfNextMyCols(ColN + 2).Width = 50设置行高MyTable.Rows(1).Height = 25MyTable.Rows(2).Height = 25表格外边框MyTable.Borders.OutsideLineStyle = wdLineStyleSingle表格内边框MyTable.Borders.InsideLineStyle = wdLineStyleSingle表格居中MyTable.Rows.Alignment = wdAlignRowCenter表格中文本对齐方式垂直居中MyTable.Rows(1).Cells.VerticalAlignment=wdCellAlignVerticalCenterMyTable.Rows(2).Cells.VerticalAlignment=wdCellAlignVerticalCenter水平居中For k = 1 To ColN + 2MyTable.Cell(1, k).SelectSelection.ParagraphFormat.Alignment = wdAlignParagraphCenterNextSet MyCell = MyTable.Cell(1, 1): MyCell.Select: MyWord.Selection.TypeText "题目"题目名称从试卷表中的题目类型名称获取For i = 1 To ColNSetMyCell=MyTable.Cell(1,i+1):MyCell.Select:MyWord.Selection.TypeText B(i)NextSetMyCell=MyTable.Cell(1,ColN+2):MyCell.Select:MyWord.Selection.TypeText "总分"SetMyCell=MyTable.Cell(2,1):MyCell.Select: MyWord.Selection.TypeText "得分"Set MyCell = NothingSet MyTable = NothingMyWord.Selection.GoToNext wdGoToLineMyWord.Selection.TypeText ChrFor i = 1 To ColN题型阅卷表格和题型说明 = "黑体"Set MyTable = MyWord.Selection.Tables.Add(MyWord.Selection.Range)MyTable.Borders.OutsideLineStyle = wdLineStyleSingleMyTable.Borders.OutsideColor = wdColorWhiteMyTable.Borders.InsideLineStyle = wdLineStyleSingleMyTable.Borders.InsideColor = wdColorWhiteMyTable.Rows(1).Cells(1).Borders.OutsideColor = wdColorBlackMyTable.Rows(1).Cells(2).Borders.OutsideColor = wdColorBlackMyTable.Rows(2).Cells(1).Borders.OutsideColor = wdColorBlackMyTable.Rows(2).Cells(2).Borders.OutsideColor = wdColorBlackSetMyRange=WordDoc.Range(MyTable.Cell(1,3).Range.Start, MyTable.Cell(2, 3).Range.End)MyRange.Cells.MergeFor k = 1 To 2MyTable.Columns(k).Width = 50NextMyTable.Rows.Height = 25If Option1.Value ThenMyTable.Columns(3).Width = 325End IfIf Option2.Value ThenMyTable.Columns(3).Width = 365End IfSet MyCols = MyTable.ColumnsSetMyCell=MyTable.Cell(1,1):MyCell.Select: MyWord.Selection.TypeText "得分"SetMyCell=MyTable.Cell(2,1):MyCell.Select: MyWord.Selection.TypeText "评分人"MyTable.Rows.Alignment = wdAlignRowCenterMyTable.Cell(1, 1).VerticalAlignment = wdCellAlignVerticalCenterMyTable.Cell(2, 1).VerticalAlignment = wdCellAlignVerticalCenterMyTable.Cell(1, 3).VerticalAlignment = wdCellAlignVerticalCenter题号+题型+分值安排 = "宋体"MyWord.Selection.Font.Size = 10.5MyWord.Selection.ParagraphFormat.Alignment = wdAlignParagraphLeft If A(i, 3) <> "" ThenSetMyCell=MyTable.Cell(1,3):MyCell.Select: MyWord.Selection.TypeText B(i) & "、" & A(i, 1) & ".(" & A(i, 2) & ")" & Chr(10) & A(i, 3)ElseSetMyCell=MyTable.Cell(1,3):MyCell.Select: MyWord.Selection.TypeText B(i) & "、" & A(i, 1) & ".(" & A(i, 2) & ")"End IfSet MyCell = MyTable.Cell(1, 3): MyCell.SelectSet MyCell = NothingSet MyTable = NothingMyWord.Selection.GoToNext wdGoToLineMyWord.Selection.GoToNext wdGoToLine对应题型的试题If TempRec1.State = 1 ThenTempRec1.CloseEnd If按难度系数升序排列试题TempRec1.Open "select st.stnr from st,sjst where st.stbm=sjst.stbm andsjst.txmc='"&A(i,1)&"'andsjst.Sjbm='"& SjbmArry(Combo1.ListIndex + 1) & "order by sjst.ndxs"If TempRec1.EOF And TempRec1.BOF ThenExit SubEnd IfIf TempRec1.RecordCount = 0 ThenMsgBox "没有找到相关试题,不能生成试卷,请检查!", vbOKOnly, "提示"GoTo NoStEnd IfN = TempRec1.RecordCountTempRec1.MoveFirstFor j = 1 To NLngsize = TempRec1.Fields("stnr").ActualSizeArrBytes = TempRec1.Fields("stnr").GetChunk(Lngsize)FreeFileNumber = 1Open App.Path & "\tempst.doc" For Binary As #FreeFileNumberPut #FreeFileNumber, , ArrBytesClose #FreeFileNumberMyWord.Selection.TypeText Str(j)MyWord.Selection.TypeText "."MyWord.Selection.InsertFile FileName:=App.Path & "\tempst.doc", ConfirmConversions:=FalseMyWord.Selection.Collapse Direction:=wdCollapseEndTempRec1.MoveNextNextTempRec1.CloseNext添加页码WordDoc.Sections(1).Footers(wdHeaderFooterPrimary).PageNumbers.Add PageNumberAlignment:=wdAlignPageNumberCenter, FirstPage:=TrueSetMyRange=WordDoc.Sections(1).Footers(wdHeaderFooterPrimary).Ran geMyWord.NormalTemplate.AutoTextEntries("第X页共Y 页").Insert Where:=MyRange, RichText:=TrueMyRange.ParagraphFormat.Alignment = wdAlignParagraphCenter '段落居中对齐End If在第一轧添加试卷左则文本框MyWord.Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:=1A1 = "学校_________________________班级__________________________ 学号________________________姓名___________________ "Set BTextBox = WordDoc.Shapes.AddTextbox(msoTextOrientationUpward, 30, 80, 40, 620)BTextBox.TextFrame.TextRange.Text = A1BTextBox.Line.ForeColor.RGB = &HFFFFFF试卷保存CommonDialog1.DialogTitle = "保存试卷"CommonDialog1.Filter = "Word文档(*.doc)|*.doc"CommonDialog1.InitDir = CreateObject("shell.application").NameSpace(5).Self.PathCommonDialog1.FileName = Combo2.Text & "试卷"CommonDialog1.ShowSaveIf Trim(CommonDialog1.FileName) <> "" ThenWordDoc.SaveAs CommonDialog1.FileNameWordDoc.CloseMsgBox Combo2.Text & "试卷已正确生成", vbOKOnly, ""ElseWordDoc.SaveAs App.Path + "\Cancel.doc"DeleteFile App.Path + "\Cancel.doc"End IfSet WordDoc = NothingUnload Form13Me.Enabled = TrueExit Sub关闭文档ErrorEnd:WordDoc.SaveAs App.Path + "\Cancel.doc"DeleteFile App.Path + "\Cancel.doc"WordDoc.CloseSet WordDoc = NothingGoTo StartExit SubNoSt:WordDoc.SaveAs App.Path + "\Cancel.doc"DeleteFile App.Path + "\Cancel.doc"WordDoc.CloseSet WordDoc = NothingUnload Form13Me.Enabled = True(12)形成word文档Dim doc1 As Word.ApplicationSet doc1 = New Word.Applicationdoc1.Documents.Open ("d:\doc1.doc")doc1.ActiveDocument.FormFields("text1").Result=Text1.Textdoc1.ActiveDocument.FormFields("text2").Result=Text2.Textdoc1.ActiveDocument.FormFields("text3").Result=Text3.Textdoc1.ActiveDocument.FormFields("text4").Result=Text4.Textdoc1.ActiveDocument.Savedoc1.Documents.CloseSet doc1 = Nothing4 、心得体会通过这次的课程设计,学会了access数据库的使用,以及VB的应用,可以做界面,巧妙的将数据库和VB界面联系起来,在软件工程学上更是取得了很大的进步。

相关文档
最新文档