书签 分享 收藏 举报 版权申诉 / 25

类型网上考试系统程序代码.docx

  • 文档编号:7602914
  • 上传时间:2023-01-25
  • 格式:DOCX
  • 页数:25
  • 大小:26.08KB

教师入口主界面

姓名

姓名

考生学号

编号

【例9-2】科目选择源程序代码

<%@Language=″vbscript″%>

<%if(″selsub″)<>″″then

′若是学生选择了考试科目,那么进入考试界面。

marray=split(″selsub″),″,″)

′保留考试科目和相应的教师编号(去掉两边空格)

session(″teachid″)=trim(marray(0))′保留考试科目名称

session(″subname″)=trim(marray

(1))′保留科目名称

session(″testnum″)=trim(marrat

(2))′保留考题数量

session(″testtime″)=trim(marray(3))′保留考试时刻

session(″starttime″)=now()′保留考试开始时刻

″″′进入真正的考试界面

endif%>

考试科目选择

一、严肃认真、沉着平复!

争取优良成绩!

二、严禁考试作弊!

<%session(″stname″)&″:

″%>

此刻你已经进入在线考试系统,必需遵守考场规定,注意考试时刻!

选择考试科目

科目讲课教师考试时刻

<%′创建两个数据库连接对象conn1和conn2。

setconn1=(″″)

setconn2=(″″)

=″dsn=testsys″

=″dsn=testsys″

 

strsql=″select

,,,″″fromsubinfo,teacherinfowhere=″

′查询subinfo考试科目有关信息,要紧有考试名称、考试时刻、题目数量等。

setmrs=(strsql)

whilenot

″″

′第二个数据库连接对象查询score中相应的科目,学生是不是已有成绩。

setmrs2=(″select * fromscorewherestid=′″&session(″stid″)&_

″′andsub=′″&mrs(″sub″)&″′andteachid=′″&mrs(″teachid″)&″′″)

ifnotthen′假设相应科目学生已有成绩,那么标记为已考!

″″&mrs(″sub″)&″已考!

(″&mrs2(″score″)&″)″&″″

else

′不然提供radio选择考试科目,每一个radio的value当中包括考试科目的信息

″&mrs(″sub″)&″″

endif

setmrs2=nothing

″″&mrs(″teachname″)&″″

″″&mrs(″testtime″)&″″

wend

′关闭数据库连接。

setconn1=nothing′释放对象变量

setconn2=nothing%>

  

【例9-3】考试时刻提示源程序代码

<%@language=″vbscript″%>

<%′运算机考试已到时刻,当即交试卷!

Gotime=hour(now)*60-hour(session(″starttime″)*60+minute(now)-minute(session(″starttime″))′运算机考试此刻剩余时刻为:

lefttime=session(″testtime″)-gotime%>

考试有关信息

考试时刻:

<%=session(″testtime″)%>

green>已过时刻为:

<%=gotime%>

<%iflefttime>0then%>

此刻剩余时刻为:

<%=lefttime%>

<%else%>

Fontface=粗体size=4style=color:

red>考试时刻已到!


<%endif%>

考试题量为:

<%=session(″testnum″)%>

已做题目为:

<%=session(″page″)%>

剩余题目为:

<%=session(″testnum″)-session(″page″)%>

请当即退出在线考试考场

【例9-4】存入考试数据库源程序代码

<%@language=″vbscript″%>

<%setmrs=(″″)

=″dsn=testsys″

if(″http_method″)=″post″then

′将在线考试学生的答案写入数据库,这部份很关键!

=″select * fromtbanswer″

,1,3

′增加记录

mrs(″answer″)=(″choose″)

mrs(″stid″)=session(″stid″)

mrs(″questionid″)=session(″questionid″)

endif

gotime=hour(now)*60+minute(now)-hour(session(″starttime″))*60-minute(session(″starttime″))

lefttime=session(″testtime″)-gotime

ifsession(″page″)=cint(session(″testnum″))orlefttime<0then

′考试时刻到,那么关闭数据库对象,系统并转向到文件。

setmrs=nothing

″″′进入考试打分程序

endif

if(″http_method″)=″post″then′给出已考的题目数

session(″page″)=1

else′每做一道题,用″POST″方式提交答案,已考的题目数+1

session(″page″)=session(″page″)+1

endif%>

试题打分程序

第<%=session(″page″)%>题

<%′从试题库中调出下一道题。

=″select * fromquestionwheresub=′″&session(″subname″)″′andteachid=′″&session(″teachid″)&″′″

,1,1

=1

=session(″page″)

session(″icrosoft″)=mrs(″icrosoft″)

mrs(″question″)


″A.″&mrs(″A″)&″

″B.″&mrs(″B″)&″

″C.″&mrs(″C″)&″

″D.″&mrs(″D″)&″

′关闭数据库对象

setmrs=nothing′释放对象变量

%>

A

B

C

D

【例9-5】计算考试成绩源程序代码

<%@language=″vbscript″%>

统计考试成绩

<%′学生在提交考试答卷后,先对正确答案进行统计,按正确答案给出评分,并将统计结果写入表score(stid,score,teachid,sub)中,然后将记录学生答案的表tbanswer中的相应字段删除。

Dimrightnum′该变量记录正确答案的数量。

dimtotalques′该变量记录学生所做题目的总数量。

dimgetscore′考生应得分数

redimmyarray(5),idarray(5)′概念两个记录中间结果的数组

dimi

rightnum=0:

totalques=0:

i=0′赋初始值

setmcmd=(″″)

=″dsn=testsys″

′打开表tbanswer将anwser和questionid赋给数组myarray和idarray。

=″select * fromtbanswer

setmrs=

fori=0to4

ifnotthen

myarray(I)=mrs(″answer″)

idarray(I)=mrs(″icrosoft″)

endif

next

setmrs=nothing

′打开表question将answer和questionid的值与数组myarray和idarray的值

′进行比较,知足条件时rightnum+1

=″select * fromquestion″

setmrs=

I=0

dowhilenot

ifidarray(I)=mrs(″questionid″)andmyarray(I)=mrs(″answer″)thenrightnum=rightunm+1

endif

ifidarray(I)=mrs(″Microsoft″)then

I=I+1

endif

loop

setmrs=nothing′删除存储在数据库表tbanswer的记录答题的记录。

=″delete * fromtbanswerwherestid=′″&session(″stid″)&″′″

getscore=formatnumber(rightnum*100/session(″testnum″),0,-1)

′将分数等项写入表score。

=″insertintoscore(stid,score,sub,teachid)values(′″&session(″stid″)&_

″′,′″&getscore&″′,′″&session(″subname″)&″′,′″&

session(″teachid″)&″′)″

setmcmd=nothing

&>

统计打分表

学生姓名:

<%=SESSION(″STNAME″)%>

考试科目:

<%=SESSION(″SUBNAME″)%>

做对题数:

<%=SESSION(″TESTNUM″)%>

应得分:

<%=GETSCORE%>

【例9-6】教师试卷组织源程序代码

<%@language=″vbscript″%>

<%if(″http_method″)=″get″then

′若是是以GET方式请求页面,那么将页码定为1

page=1

endif

setrec=(″″)

=″dsn=testsys″

=″select*fromsubinfowhereteachid=′″&session(″teachid″)&″′″′将课程表中所有teachid=当前教师编号的记录查找出来。

,,1,3

if(″http_method″)=″POST″then

page=cint(″page″))

if(″submit″)=″加入″then′教师处置加入新课程的请求。

rec(″teachid″)=session(″teachid″)

rec(″sub″)=(″subname″)

rec(″testtime″)=(″testtime″)

rec(″testnum″)=(″testnum″)

endif

if(″submit″)=″修改″then′处置修改课程的请求。

=1′将页码设置为当前页。

=page′依照提交的课程内容进行修改。

rec(″teachid″)=session(″teachid″)

rec(″sub″)=(″subname″)

rec(″testtime″)=(″testtime″)

rec(″testnum″)=(″testnum″)

page=cint(″page″))

elseif(″submit″)=″前一个″then

page=page-1′假设要求显示前一个记录,那么页码减1。

else

page=page+1′假设要求显示后一个记录,那么页码加1。

endif

endif

ifnotandnotthen′假设课程记录不为空。

=1′依照页码设定当前记录的位置。

=page′依照当前记录取得课程相关信息。

subname=rec(″sub″)

testtime=rec(″testtime″)

testnum=rec(″testnum″)

ifpage>1then

′假设页码大于1,那么字符串变量prebut=″false″。

依据在window_onload事件中设定按钮(id=submit3,value=″前一个″)的disabled值决定该按钮是不是可用以下的′nextbut,revisebut等变量的作用类似。

prebut=″false″

else

′假设当前页码小于0,那么设定prebut=″true″,设定″前一个″按钮不可用。

prebut=″true″

endif

ifcint(page)

′当前页码小于最大页码,那么设定″后一个″按钮可用。

nextbut=″false″

else′设定″后一个″按钮不可用。

nextbut=″true″

endi

举报
举报
版权申诉
版权申诉
word格式文档无特别注明外均可编辑修改;预览文档经过压缩,下载后原文更清晰! 立即下载
配套讲稿:

如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

特殊限制:

部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

关 键  词:
网上 考试 系统 程序代码
提示  冰豆网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:网上考试系统程序代码.docx
链接地址:https://www.bdocx.com/doc/7602914.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2008-2022 冰点文档网站版权所有

经营许可证编号:鄂ICP备2022015515号-1

收起
展开