1、C语言程序设计考试系统C language progamme design examination system 马国富 刘波(安阳工学院 计算机工程系,河南 安阳455000)Ma GuoFu,liu bo(Department of Computer Engineering,Anyang Institute of Technology,Anyang 455000)一:摘要这一考试系统是一种计算机辅助教学软件,它包括教学模式,练习模式,考试模式。采用调用数据库的方式打开,可以实现随机选题和指定选题,而不是固定的试题。解决了由于教材更新和题库更新导致教学软件过时。大大提高了软件的利用价值,打破
2、了教学软件内容的固化,其次三种工作模式极大地拓宽了软件的使用范围,不再是单一的教师教学软件或学生考试软件。可根据教学需要灵活地选择不同模式,同时少作修改即可用于其它课程。系统解决了在多媒体教学中出现的模式僵化,内容固化的问题。更新教学内容只需建立一个新的数据源实现连接即可。AbstractThe test system of the principle is a Computer extended education software, and this course is also the compulsory course in High etc. school.This system i
3、nclude Teaching mode. Practice mode Examination mode.You can use database open the examination database That is to say the content is up to you or at random.It is the revolution of test system This is the main reason we develop it.二:关键词考试系统 、多媒体技术、数据源、连接数据库keywordexamination system、multimedia techno
4、logy、data soure、connection of database三:课题研究的意义和目的安阳工学院计科系毕业论文第 2 页 共 9 页23.1 研究意义现在,多媒体技术日趋成熟,多媒体系统以其能输出精彩的图形和图像、美妙的声音、动感的画面赢得了用户和社会各界广泛的关注和应用。如果把按传统考试方式同现代化的多媒体技术相结合,并且用多媒体著作工具及其它多媒体技术,编制一套符合高校考试需求的系统及其配套的多媒体教学软件,利用多媒体技术生动、直观、形象展示信息的特点,辅助教师授课和学生进行考试,尤其对部分有限制性的实验环节,可利用活动视频技术进行展示,这将会解决一系列目前存在的问题。总之,
5、该课题是在计算机辅助教学及考试上进行的一次积极有意义的尝试,为其他实践性较强的课程进行多媒体辅助教学开辟一条新的路子,具有一定的理论和现实意义。3.2 目 的传统的考试手段主要依靠有纸试卷,几乎没有可重用性。本课题将实现:用计算机辅助考试系统,把多媒体生动、直观的显示出来,使学生不再将考试视为一种枯燥无味的东西,提高了考试效果,使学生在一种愉悦的心情中进行考试,把枯燥的重复变为充满乐趣、具有启发性的考试过程,使学生能比较全面的学习知识,掌握技能,达到素质教育的要求。四:系统流程图设计4.1 初始化流程设计在使用 Authorware创建任何多媒体项目的时候,都应该先设置当前项目文件的窗口大小,
6、将其设置为“800600” ,然后选择“演示居中屏幕” ,同时取消对“显示标题栏”和“显示菜单栏”复选框的选择。4.2 主界面的设计本界面采用了 Photoshop7.0图形图像处理软件来绘制。为了避免界面的单调和呆板,用蒙版和滤镜技术加以美化。该界面把 Photoshop中的图层技术、图层蒙版技术、文字效果及滤镜等功能完美的结合了起来。并且在底部设置了一个 Flash动画,增加视觉效果。4.3 背景音乐的交互控制该多媒体教学以 MIDI作为背景音乐,背景音乐的交互控制包括背景音乐的随机选曲播放、停止等功能,另外当该教学程序处于活动状态时,能够随时调整背景音乐和讲解声音的大小及比例,让使用者在
7、一种轻松悦耳的环境中考试(调出 WINDOWS的音量控制实现) ,还能够暂停背景音乐,当再次进入活动状态时则能重新播放背景音乐。为了充分考虑用户计算机的不同配置情况,首先利用 BUDAPI.U32的 BASOUNDCARD函数判断用户机器是否已经安装了声卡,如果已经安装则执行背景音乐播放,否则不允许播放任何背景音乐操作.程安阳工学院计科系毕业论文第 3 页 共 9 页3序如下:IF BASOUNDCARD() THENMIDI:=1TEST(MIDI,MIDILOOP (FILELOCATION”MUSICMUSIC-”RANDOM(1,5,1)”.MID”),STOPMIDI()END IF
8、软件中的背景音乐交互控制是通过交互响应来实现的。在程序执行过程中,用户始终可以通过按钮控制背景音乐的播放与暂停。在计算图标“播放音乐”后添加一交互图标并命名为“音乐控制”,并在交互图标右边添加三个计算分支。设置“STOP/PLAY”分支为按钮响应交互,其功能是实现对背景音乐的控制。由于在整个程序执行过程中它都是有效的,因此须设置其为永久按钮,即选择“PERPETUAL”属性选项,同时设置“ACTIVE IF”条件为:BASOUNDCARD() ,即检测到用户没有安装声卡的情况下该按钮及响应分支无效。4.4 内容的导航设计该多媒体教学涉及内容繁多,不仅包括文本、图片、声音和动画,而且还有其它多媒
9、体工具与Authorware 配合,同时,还把视频文件导入,以增加实用性。为使用户操作简单方便,设计了合理的教学内容导航。主文件与各章节之间的导航设计根据结构规划中的该章节内容的栏目划分,在流程设计中为这些栏目设计了导航,如图 1为主程序内容导航的设计流程图。图 1 主程序内容导航这样的流程设计使整个主程序结构清晰,可读性强。由于该文件结构是主-分结构,即主文件调用各章节模块文件的方式,因此在主文件的章节内容中实际存放的是一个起链接桥梁作用的调用安阳工学院计科系毕业论文第 4 页 共 9 页4脚本,而具体的考试试题题型内容则放在各章节的模块文件内。4.5 各模块的内容流程设计图中的考试模式、练
10、习模式、教学模式及退出系统这四部分主要程序流程图如下图 2、图3、图 4、图 5所示。图 2安阳工学院计科系毕业论文第 5 页 共 9 页5图 3图 4图 5第五部分的原理演示则是通过热区交互以及调入用 VC6.0制作的演示内容的库文件,抽象的工作原理形象化,具体化。在打包的过程中采用了分步打包,首先对每部分进行打包。通过主文件调用其它各部分,这样避免了主文件过大,影响运行速度。五: 以完成单选题为例来看具体实现过程从单选题的数据库题库中随机抽取相应题数的问题;每一题只能选择一个答案; 用户可以按次序做答,可跳过不答,在回答过程中,可以随时返回已做过的题目进行修改;交卷后会给出完成情况可以查安
11、阳工学院计科系毕业论文第 6 页 共 9 页6看每题的回答情况.最后回到选题主界面,并把学生所做的答案成绩保存到数据库中。当用户在主界面中,选择了“考试模式”后,系统就会进入到登录界面系统会提示输入用户名和密码,当输入后,点击“确定”后,系统将会进入到题型选择界面。在提示框中输入用户名和密码,我们点击“确定”后,就会进入到正式的单选题型界面中,选择“单选题”单击。C 语言程序设计考试系统的选择题从数据库中取出选择题,在一个界面上显示。利用三个热区域交互按钮“上一题” “下一题,”“完成” ,按钮和四个热区域设置计算图标用来记录学生所选择的答案。在学生选择“完成”后,弹出学生做题的情况界面,然后
12、回到选题主界面,并把学生所做的答案成绩保存到数据库中。5.1“未命名 ”用来擦除以前的图像5.1.1 打开“未命名”的属性,进入“未命名”的属性窗口。5.1.2 在“属性窗口”中单击擦除标签在设置过渡效果进行设置51.3 单击“确定”按钮5.2 设置“单选界面 ”插入一个图像5.2.1 双击“单选界面”图标进入显示图标窗口5.2.2 单击 绘图工具箱 图标进行绘制一个和窗口矩形一样大的矩形5.2.3 设置矩形的颜色为“绿色”5.2.4 单击显示图标窗口的关闭按钮,关闭保存对“单选界面”的设置5.3 设置交互 “进入”5.3.1 在交互图标的右边拖放一个群组“单选”5.3.2 设置单选的热区为“
13、按钮“5.3.3 单击确定后,双击“选择” 。5.3.3.1“未命名”用来擦除上次运行的图形5.3.3.2 在“打开数据库”的输入如下源程序:安阳工学院计科系毕业论文第 7 页 共 9 页7hint0:=“您的数据库没有连接上.“ -显示连接数据库的信息title:=“数据库连接.“ODBChandle:=ODBCOpen(WindowHandle,“,“database“,“,“) -得到数据源getrecord:=“select count(sequence) from erigister“ -得到记录的个数record:=ODBCExecute(ODBChandle,getrecord)
14、if ODBChandle=0 then -测试连接数据库是否连接成功MessageBox(WindowHandle,hint0,title,17)end ifODBCClose(ODBChandle)ODBChandle:=ODBCOpen(WindowHandle,“,“database“,“,“)if ODBChandle=0 thenMessageBox(WindowHandle,hint0,title,17)end ifsqlstring1:=“select ssdb from erigister where sequence=“record“-从表中选择单选库表题ssdatabas
15、e:=ODBCExecute(ODBChandle,sqlstring1)getrecord:=“select count(sequence) from “ssdatabase“record:=ODBCExecute(ODBChandle,getrecord) -ssdb数据库的记录个数,以便产生随机数sssum:=0number1:=1sui:=sui1:=Random(1,record,1) -下面程序用来产生一个随机数不能出现相同的题目i:=2repeat while i1,鼠标指针设置为:标准的鼠标指针。在“下一题”的激活条件中输入:number1record+1,设置鼠标指针为:标准
16、鼠标指针。在“完成”设置鼠标指针为:标准鼠标指针。双击“完成” 。六 结束语根据对教师上课时课堂练习的分析,开发出该考试系统,主要是能够方便课堂练习,同时还可用于期中期末测试,该系统主要是针对C 语言程序设计课程来设计的。对该系统做简单修改,即可用于其它课程。参考文献专著:王嘉宁 朱隽著 Photoshop7.0 中文版新概念百例M 中国水利水电出版社 2004 年 4月专著:龚祥国主编 Photoshop 图像处理实用教程M 科学出版社 2002 年 2 月专著: 王龙 金海主编 Flash MX 实战入门新概念M 中国水利水电出版社 2005 年 5月专著: 李恒著Authorware 6.0 多媒体实例大制作M 冶金工业出版社 2002 年 4月专著: 袁海东著Authorware 7.0 教程 M 电子工业出版社 2004 年 9月专著: 郝蕾蕾著 Authorware 课件制作M 中国水利水电出版社 2001 年 7月安阳工学院计科系毕业论文第 9 页 共 9 页9