




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言课试卷自动生成系统 课题的来源 随着计算机技术和互联网技术的发展 网络技术已经逐渐渗入社会生活各个层面 传统的试卷考试方式已不能满足现代化教育的需求 网络教学已经成为全球性的大趋势 网络教育除了学习其中的内容之外 对学习效果的评估也是一个必不可少的方面 考试作为教学测评的一种最主要的手段 其规范性 科学性以及考试工作的组织 管理等 直接关系到教学测评的准确性和客观性 从而也影响到教学质量的好坏 使用网络考试系统可以使考试在本地进行 也可以在异地进行 打破了以往把考生聚集在一起参加考试的局面 大大拓展了考试的灵活性 试卷根据题库中的内容即时生成 可避免考试前的压题 使用计算机判卷 大大提高阅卷效率 还可以直接把成绩送到数据库中 进行统计 排序等操作 具体目标 本系统的具体目标是 1 对试题库中的各类型试题 填空题 单项选择题 判断题 编程题 可以进行添加 删除 修改等常规维护 2 可以对试题库中的各类型试题 填空题 单项选择题 判断题 编程题 进行单一条件或多条件组合查询 3 可以根据用户的要求在试题库中随机的抽取各种类型的试题 4 将随机抽出的试题和答案分别保存在word文档中 可利用word对其进行编辑 最终打印成标准试卷 和答案卷 系统开发工具简介和Powerbulider8 0的开发环境的介绍 随着计算机应用水平和网络技术的发展 人们对于信息的需求 管理和应用不再局限于有限地理空间内 信息分布在位于不同地方的计算机上 PowerBuilder即是具有这一基本要求的开发工具 PowerBuilder的核心技术是数据窗口 DataWindow 技术 可以说 PowerBuilder的最大特色就是数据窗口 PowerBulider作为一种数据库前端开发技术 操作的核心是数据库中的数据 而数据窗口是一个对象 它包含了对数据库中的数据进行特定的操作的信息 只要定义好一个数据窗口对象 以后就可以在多个应用程序中使用这个数据窗口对象 总之 可以把数据窗口看作封装了对数据库中的数据操作的对象 他极大的方便了应用程序对数据库的使用 根据用户的需要 结合PowerBuilder的特点 在选择开发工具时选定了PowerBuilder8 0为开发工具 PowerBuilder8 的描述文件 描述文件是PowerBuilder获取后台数据库信息的桥梁 通过描述文件中指定的信息系统可以与指定数据库的连接建立 因此 对于PowerBuilder开发出的系统 描述文件是必须的 在本次的毕业设计中将描述文件制作成 盘 用户必须持有 盘和密码才允许进入系统 起到了加密的作用 PowerBuilder提供了两个专用于对描述文件进行操作的函数 ProfileString 函数和SetProfileString 函数 通过ProfileString 用户可以读取到描述文件中指定节中的指定项目的字符串值 通过SetProfileString 函数用户可以设定描述文件中指定的节中的指定项目的字符串值 因此利用ProfileString 函数和SetProfileString 函数可以方便地完成对描述文件的操作 从而控制应用程序与数据库的连接 进一步实现了与后台数据库的动态连接 PowerBuilder8 的事物对象 事物对象是PowerBuilder众多对象中最重要的一个对象并且也是最不易理解的一个对象 它实际上是PowerBuilder程序与数据库之间传递信息的一个结构体变量 其共有 个成员 在访问数据库之前 必须为这个结构体变量准备好访问数据库的参数 它包括要连接的数据库 数据库所基于的服务器及用户名和口令等 个参数 然后才能通过这个结构体变量与数据库进行连接 完成所需的数据库操作 数据库操作的执行情况等 个状态信息也要通过这个结构体变量传递个PowerBuilder程序 无论在何时以何种的方法在应用程序中访问数据库都必须使用事物对象 鉴于事物对象的重要性 下面对事物对象的 个参数进行详细的介绍 个参数进行详细的介绍 1 string类型 所使用的数据库管理系统 2 string类型 要连接的数据库名字 3 string类型 连接数据库时所需的用户名 4 string类型 用户连接数据库时所需的密码 5 string类型 数据库的保护级别 6 string类型 登录到数据库服务器上的用户名 7 string类型 登录到数据库服务器的用户口令 8 string类型 数据库服务器名 9 string类型 指定是否将数据库设定成自动提交所有事物 10 string类型 用于向数据库传递特定信息的属性 11 long类型 指定最近一次 操作失败或成功 12 long类型 最近一次 操作影响的行数 13 long类型 数据库错误代码 14 string类型 相当于 中错误码的文字说明 15 string类型 返回 M 执行 的附加信息 使用数据窗口检索数据库数据的全过程 1 创建一个事物变量 为了使其能与确定的数据库连接 应为其赋值 2 使用 语句把事物对象与数据库连接 语句的语法如下 3 使用SetTransObject 函数把具体的事物对象与数据窗口控件关联 4 执行检索操作 DATAWINDOWCNTROL RETRIEVE 5 断开与数据库的连接 DISCONNECTUSINGTRANSACTION 6 删除自己创建的事物对象 DESTORYTANSACTION 系统的分析及设计 任何系统在设计的时候必须有一个整体的设计思路作为指导思想 在本章主要就以下几个问题进行阐述 1系统需求分析2系统的设计原则3系统功能设计4数据库设计 系统需求分析 传统的出卷方法在计算机日益普及的今天 已经被淘汰 传统方法及费时又费力 而试卷自动生成系统很好的解决了这个问题 它可以依据用户的要求在很短时间内生成一份试卷 用户可以选择试题的难度 考察章节 然后依据用户的条件在试题库中随机抽取试题 最后把试卷保存在Word文档中 进行排版等打印的前期工作 随后即可打印成一份标准试卷 另附答案 系统的设计原则 本系统是基于使用户方便操作 简化步骤 实用 美观的原则设计的 系统功能设计 根据用户的要求对试题库中的各类型试题 填空题 单项选择题 判断题编程题 可以进行添加 删除 修改等常规维护 还可以对试题库中的各类型试题 填空题 单项选择题 判断题 编程题 进行单一条件或多条件组合查询 可以根据用户的要求在试题库中随机的抽取各种类型的试题 将随机抽出的试题和答案分别保存在word文档中 可利用word对其进行编辑 最终打印成标准试卷 和答案卷 数据库的设计 后台数据库的建设 1后台数据库的选择2数据库的设计 后台数据库的选择 PowerBuilder作为专业的数据库前端开发工具 在数据库应用开发方面有独到之处 几乎支持所有常见数据库的连接 PowerBuilder与数据库的连接可以通过ODBC接口或数据库厂商提供的专用数据库接口实现 在此次的系统开发的过程中 后台数据库采用MSSQL系列中的MSSQLServer2000 在此次的系统开发的过程中 后台数据库采用MSSQL系列中的MSSQLServer2000 PowerBuilder与MSSQLServer数据库的连接需要几组动态链接库配合完成 通过专用接口文件PBMSS80 DLL Powerbulider8 0可以访问SQLServer2000版数据库 而MSSQLServer提供的数据库接口文件是NTWDBLB DLL 另外还需要数据库网络支持文件 此文件随数据库服务器支持的网络类型不同而不同 对于NamedPipes 支持文件是DBNMPNTW DLL 对于TCP IPSockets 支持文件是DBMSOCN DLL 这几组动态链接库的作用分别是 PowerBuilder8 0提供的数据库接口可以接收PowerBuilder应用程序及其可执行文件中的数据库连接的信息 而MSSQLServer提供的的数据库接口文件则负责与PowerBuilder中的动态链接库进行交换信息 传达到数据库服务器 数据库网络支持文件则保证客户端与服务器的网络连接 如下图所示 连接示意图 数据库接口动态链接库 Microsoft支持 PowerBulider支持 数据库客户端软件 网络层 数据库或网络支持 数据库 数据库的设计 根据系统功能设计的要求以及功能模块的划分 对于语言可试卷自动生成系统的式题库的数据库 可以列出以下数据项和数据结构 填空题试题信息表 主要包括试题的ID 类型 分值 章和难度 题目 答案 标志 备注等 选择题试题信息表 主要包括试题的ID 类型 分值 章和难度 题目 选项 答案 标志 备注等 判断题试题信息表 主要包括试题的ID 类型 分值 章和难度 题目 答案 标志 备注等 编程题试题信息表 主要包括试题的ID 类型 分值 章和难度 题目 答案 标志 备注等 试卷信息表 主要包括题目 答案 填空题数据表 选择题数据表 判断题数据表 编程题数据表 1登陆界面2主选择模块3试题查询模块4试题整理模块和数据窗口与数据编辑5打印模块 登陆界面 C语言课试卷自动生成系统的登陆画面如图所示 下面是登陆页面的源代码 判断用户名是否正确ifsle 1 text hejing thenMessageBox 提示 请输入正确的用户名 returnendif 判断用户口令是否正确ifsle 2 text 1234 thenMessageBox 提示 登录口令非法 请确定后重新输入 returnendifopen w main 主选择模块 主选择界面 试题查询部分代码如下 stringlookforconditionifddlb 1 text andddlb 2 text thenmessagebox 提示 请输入查询条件 elseifddlb 1 text andddlb 2 text thenlookforcondition zhanghenandu ddlb 1 text endififddlb 1 text andddlb 2 text thenlookforcondition biaozhi ddlb 2 text endififddlb 1 text andddlb 2 text thenlookforcondition zhanghenandu ddlb 1 text and biaozhi ddlb 2 text endifdw 1 setfilter lookforcondition filter dw 1 dw 1 retrieve endif 试题查询模块 试题查询模块逻辑结构示意图 选择 填空题 这一项 进入填空题查询页面 如图 在第一个下拉列表中选择 章和难度 在第二个下拉列表中选择 标志 例如 在第一个下拉列表中选择 1 1 在第二个下拉列表中选择 0 查询结果如图所示 符合查询要求的记录不止一条 所以可以按 上一条记录 或 下一条记录 按钮来进行选择 试题整理模块 这个主模块包含有四个子模块 其逻辑结构如图1所示 四个子模块的功能 代码基本相同 因此以填空题整理为例讲解 填空题整理模块的逻辑结构如图2所示 图1试题整理模块逻辑结构示意图 图2填空题整理模块逻辑结构图 填空题整理模块界面 增加 按钮可在数据库中增加一条记录 删除 按钮课在数据库中删除一条记录 上一条记录 和 下一条记录 按钮可实现试题的浏览 允许修改 按钮可以对一条记录中的某一项或所有象进行修改 修改后必须点 保存 按钮以确保保存成功 放弃 按钮可以放弃用户刚才所作的修改 如图所示 允许修改 功能代码如下 stringlookforconditionifddlb 1 text andddlb 2 text thenmessagebox 提示 请输入查询条件 elseifddlb 1 text andddlb 2 text thenlookforcondition zhanghenandu ddlb 1 text endififddlb 1 text andddlb 2 text thenlookforcondition biaozhi ddlb 2 text endififddlb 1 text andddlb 2 text thenlookforcondition zhanghenandu ddlb 1 text and biaozhi ddlb 2 text endifdw 1 setfilter lookforcondition filter dw 1 dw 1 retrieve endif 添加 功能代码如下 integerli rowcb 5 enabled falsecb 6 enabled falsecb 1 enabled falsecb 2 enabled falsecb 3 enabled falsecb 7 enabled truecb 8 enabled truedw 1 enabled true 数据窗口获得焦点dw 1 setfocus 插入一条空纪录 以待修改li row dw 1 insertrow 0 滚动到指定行dw 1 scrolltorow li row 在这个模块中主要使用了数据窗口技术 DataWindow 数据窗口与数据编辑 数据窗口的主要功能是从数据库中检索出数据并显示在用户界面上 并且允许用户通过这个数据窗口对象和数据库通信 进行数据的添加 删除和修改 数据窗口包括两方面的内容 数据窗口对象和数据窗口控件 数据窗口对象主要用于展示数据并允许用户增删改数据 数据窗口控件则把数据窗口对象放置到窗口上并呈现在用户面前 数据窗口对象无法直接在程序中使用 而数据窗口控件没有了数据窗口对象就成了一个没有数据的空舞台 可以这样理解 数据窗口对象是一个很大的风景区 而数据窗口控件只是一个显示框 数据窗口控件每次只能显示一定大小的数据 数据窗口对象中的数据就是通过这个显示框将其中的数据显示给用户 数据窗口对象提供了强大的操纵数据的功能 包括过滤数据 数据排序 分组检索等 修改后的数据还可以有数据窗口提交给数据库进行更新 利用数据窗口可以完成复杂的数据编辑任务 有以下几点可以实现 1数据查找功能的实现2记录删除功能的实现3记录保存功能的实现4数据清空功能的实现5记录插入功能的实现 数据窗口控件是POWERBUILDER中最有特色的控件之一 是SYBASE公司的专利控件 由于有了数据窗口控件使得用户界面更加友好 减少了开发的工作量 POWERBUILDER的数据窗口控件有FREEFORM风格 TABULAR风格 GRID风格 LABEL风格 N UP风格 GROUP风格 COMOSITE风格 CROSSTAB风格 GRAPH风格 OLE2 0风格和RICHTEXT风格 在此次开发中根据数据的格式和用户的需要采用的是FREEFORM风格数据窗口 当我们在纸上绘制数据表格记录数据的时候 经常进行的操作就是查找记录 删除记录 保存记录等操作 同样对于一个数据管理系统类似这样的功能是必不可少的 这些功能在利用计算机实现的时候必须充分地发挥计算机的优势 快速 准确地处理大量的数据 随机出题功能 出题模块包含有抽取填空题 抽取选择题 抽取判断题 抽取编程题四个子模块 现以抽取选择题为例 出题模块逻辑结构如图所示 选择题抽取 1选择截止到哪一章和试题难度 2抽取四道题 3还可以重新抽取 主要代码如下 ifddlb 1 text 8 3 thentag 1 5endififddlb 1 text 9 3 thentag 1 10endififddlb 1 text 10 3 thentag 1 15endifinttemp 1temp 1 rand tag 1 irow temp 1mle 1 text 题号 ds getitemstring irow 8 mle 1 text mle 1 text char 13 char 10 章和难度 ds getitemstring irow 9 mle 1 text mle 1 text char 13 char 10 题目 ds getitemstring irow 1 mle 1 text mle 1 text char 13 char 10 选项A ds getitemstring irow 2 mle 1 text mle 1 text char 13 char 10 选项B ds getitemstring irow 3 mle 1 text mle 1 text char 13 char 10 选项C ds getitemstring irow 4 mle 1 text mle 1 text char 13 char 10 选项D ds getitemstring irow 5 mle 1 text mle 1 text char 13 char 10 答案 ds getitemstring irow 6 return0部分代码如下 datastoredsintirowStringianswer 0to4 inttag 1tihao 1ds createdatastoreds DataObject dw xuanze ds settransobject sqlca ds retrieve st 1 text 当前考题为 String 1 000 show tihao cb 1 enabled falsest 1 text 当前考题为 String 2 000 show tihao cb 2 enabled falsest 1 text 当前考题为 String 3 000 show tihao 抽取选择题界面 打印模块 在抽取完试题后应对所抽取试题进行打印 此功能是通过OLE实现与Word通信 这项技术在第四章第三节已作详细讲述 在这里就不详细论述了 难点及对策 5随机抽取试题的算法ifddlb 1 text 8 3 thentag 1 5endififddlb 1 text 9 3 thentag 1 10endififddlb 1 text 10 3 thentag 1 15endifinttemp 1temp 1 rand tag 1 irow temp 1mle 1 text 题号 ds getitemstring irow 8 mle 1 text mle 1 text char 13 char 10 章和难度 ds getitemstring irow 9 mle 1 text mle 1 text char 13 char 10 题目 ds getitemstring irow 1 mle 1 text mle 1 text char 13 char 10 选项A ds getitemstring irow 2 m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 银行知识试题及答案
- 银行业务英语试题及答案
- 银行信用卡员招聘试题及答案
- 卫生专业遴选试题及答案
- 银行小组类面试题及答案
- 烹饪专业试题及答案
- 机车专业试题及答案
- 水专业试题及答案
- 黑龙江省大庆市2025-2026学年高三第一次教学质量检测地理试题(含答案)
- 河北省唐山市2025-2026学年高三上学期开学物理试题(含答案)
- GB/T 29340-2012锅炉用水和冷却水分析方法氯化物的测定硫氰化铵滴定法
- 2国际船舶货物系固手册
- 沥青搅拌站实验室全套仪器设备配置清单
- 2021年康平县工会系统招聘笔试试题及答案解析
- 一生一特长·一师一专长实施方案
- 游标卡尺的使用flash动画演示教学课件
- 石油钻井用钻具培训讲义课件
- 管理层财务基础知识培训
- 整理词根词缀法初中英语学习
- 立式储罐重量表
- (高清版)建筑楼盖结构振动舒适度技术标准JGJ_T 441-2019
评论
0/150
提交评论