网学网为需要ASP类作品的朋友们搜集整理了在线考试系统的设计相关资料,希望对各位网友有所帮助!
客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn |
4.4 用户模块设计 4.4.1 用户注册设计 该模块的功能是实现用户远程注册。用户输入想要注册的用户名和密码,提交之后由系统判断该用户是否已经存在,如果存在,就给出相应信息,如果不存在,就把用户输入的用户名和密码写到数据库中,完成注册。 4.4.2 在线考试设计 进入在线考场是本系统最重要的部分之一。因为一个系统如果涉及到现实的话,就必须考虑得十分周到、完善。考生登录后,只要选择考试科目以后,就可以调出试卷进行在线考试。为了实现动态随机不重复的抽取试题,需要在选题过程中每选出一题,就要在试题库中作相应的标志,以便下次不会重复取出此题。试卷出来后要对试题库中的标志位复原。这样就会使每个考生的试卷都不同。考生的其答题信息通过单、复选按钮选择答案来反映。myeducs.cn考试结束采取自主交卷和到了规定时间自动提示有机结合的方式予以实现。 6.1 系统中几个关键算法 6.1.1 随机出题算法实现 randomize //随机函数标识符 for i=1 to testNum QQ57510459//在题库中选择从1至testnum道题目 do rnd1=int(testNum*rnd+1) //获得随机数,这些随机数代表了在考卷中的题号。 loop while testarray(rnd1,1)<>empty //为每一道没有选过的题目 testarray(rnd1,1)=i //加上考卷上的题号 testarray(rnd1,6)=0 //给题目的选项加上一个属性,以表示未答题。 for j=1 to 4 //四个选项 do rnd2=int(4*rnd+2) loop while testarray(rnd1,rnd2)<>empty//为每一个每选过得选项 testarray(rnd1,rnd2)=j //加上考卷上的选项号 next next //完成循环 6.1.2 记录随机出卷映射表 for i=1 to testNum //循环开始,共testnum次 testid=testid&testarray(i,1)&"," //将二维数组中表示题号的一位置入字符串中 for j=2 to 5 //将二维数组中表示选项的几位随后置入字符串中 testid=testid&testarray(i,j)&"," next next //循环结束 6.1.3将随机出卷映射表转换为数组 test=split(testid,",")//将字符串转换为一维数组 for i=1 to testnum testarray(i,6)=0 for j=1 to 5 testarray(i,j)=test(a) //将一位数组转换维二位数组,形成映射表 a=a+1 next next 6.2 数据库操作语言 1.ODBC 数据库连接 connstr = "DBQ=" + server.mappath("examdb.mdb") +";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};" set conn=server.createobject("ADODB.CONNECTION") conn.open connstr 2.ODBC表查询 sql_1="select * from subject" set rs=createobject("adodb.recordset") rs.open sql_1,conn,1,1 3.表单元插入 conn.execute "insert into score(stname,classnum,score,endtime) values(''"&studentname&"'',"&classnum&",''"&score&"'',''"&overtime&"'')" |
本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT |
本文选自计算机毕业设计http://myeducs.cn |