<%@ Language=VBScript%> <% 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 'xxxxxxxxxxxxxx Declarations dim question(4) dim responsea(4) dim responseb(4) dim responsec(4) dim responsed(4) dim responsee(4) dim question_type(4) dim qanswer(4) dim explanation(4) dim instructions, body, title, id, header, footer, pfile, ccount, expire, ncount dim db, rs dim correct, wrong dim rnumber dim email, email_to, email_server dim answer(500) dim aspresults 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 'xxxxxxxxxx operationalize your global variables rnumber = 4 id = "5/11/01*9:38:53*AM566519" instructions = "Please choose the best answer. For some questions, more than one answer may appear to be correct. In this case you should choose the answer that is most appropriate." title = "Computer Based Examination" pfile = "astro1.asp" body = "" email = "yes" email_to = "florin@lefo.ro" email_server = "194.102.193.1" password = "sisif+" aspresults = "1" session("security") = "0511200109382994207" 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 'xxxxxxxxxxxx Question 1 question_type(0) = "MC" question(0) = "Care din urmatoarele este asterismul cel mai unic, cel mai comun asociat cu constelatia Lyra?" responsea(0) = "arch" responseb(0) = "parellelogram" responsec(0) = "little dipper" responsed(0) = "teaspoon" responsee(0) = "" qanswer(0) = "B" explanation(0) = "" 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 'xxxxxxxxxxxx Question 2 question_type(1) = "MC" question(1) = "Ce constelatie inprejmuieste partea sudica a constelatiei Ursa Minor?" responsea(1) = "Cepheus" responseb(1) = "Casseopeia" responsec(1) = "Camelopardalis" responsed(1) = "Draco" responsee(1) = "" qanswer(1) = "D" explanation(1) = "" 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 'xxxxxxxxxxxx Question 3 question_type(2) = "MC" question(2) = "Ce constelatie apare in imagine? ,""perseus.rle""" responsea(2) = "Canes Venatici" responseb(2) = "Perseus" responsec(2) = "Coma Berenices" responsed(2) = "Corvus" responsee(2) = "" qanswer(2) = "B" explanation(2) = "" 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 'xxxxxxxxxxxx Question 4 question_type(3) = "MC" question(3) = "Cea mai mare parte a primei jumatati a tuturor obiectelor Messial (in ordine numerica) ce clasa de obiecte sunt?" responsea(3) = "galaxies" responseb(3) = "supernova remnants" responsec(3) = "open/globular clusters" responsed(3) = "planetary nebulas" responsee(3) = "" qanswer(3) = "C" explanation(3) = "" ' 'xbeginxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx dim WebQuizWriter set WebQuizWriter = server.createobject("WebQuiz.Writer") 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 'xxxxxxxxx begin your bulk if statements here 'first off, the dreaded login sequence if (request.form("action") = "login") or (request.querystring("action") = "login") then 'first off, your data validation if (len(trim(request.form("name"))) = 0) and (len(trim(request.querystring("action"))) = 0) then call webquizwriter.call_error("You must enter your name to begin the test!", body, title) end if expire = DateAdd("d", "1", now()) if (trim(request.form("name") = password)) or (trim(request.querystring("password")) = password) then call webquizwriter.AdmModule(id, body, title, password, pFile) end if if (len(trim(request.querystring("password"))) > 0) and (trim(request.querystring("password")) <> password) then call webquizwriter.call_error("The password you entered is not correct. Please try again!", body, title) end if if (trim(request.querystring("action")) <> "") and (trim(request.querystring("password")) <> password) then call webquizwriter.call_error("The password you entered is not correct. Please try again!", body, title) end if call set_answers() call create_question(1, webquizwriter.cleandata(request.form("name")), webquizwriter.cleandata(request.form("id")), now()) elseif (request.form("action") = "goto") and (request.form("start") <> "") then 'assuming they used the goto box call set_answers() call create_question(request.form("goto_number"), request.form("name"), request.form("id"), request.form("start")) elseif (request.form("action") = "quit") and (len(trim(request.form("start"))) <> 0) then 'assuming they are trying to quit on me call webquizwriter.quitconfirm(pfile, body, title) elseif (request.form("action") = "quit_confirm") and (request.form("start") <> "") then 'they confirmed the quit command, expire all the cookies and let them go back to login For Each cookie in Response.Cookies Response.Cookies(cookie).Expires = #July 4, 1997# Next elseif (request.form("action") = "continue") and (request.form("start") <> "") then 'they answered a question, hit the save button, now do something with the data 'reset your answers call set_answers 'determine whether you need to manipulate the multiple answer answer if request.form("question_type") = "MA" then MAanswerA = cstr(request.form("MA")) MAanswerB = cstr(request.form("MB")) MAanswerC = cstr(request.form("MC")) MAanswerD = cstr(request.form("MD")) MAanswerE = cstr(request.form("ME")) answer(request.form("qnumber")) = MAanswerA & MAanswerB & MAanswerC & MAanswerD & MAanswerE end if 'determine which question to send them to next ncount = 1 do until (len(trim(answer(ncount))) = 0) or (ncount > rnumber) ncount = ncount + 1 loop if ncount <= rnumber then call create_question(ncount, request.form("name"), request.form("id"), request.form("start")) end if 'else print confirmation that it is done call score_confirm(request.form("name"), request.form("id"), request.form("start")) elseif (request.form("action") = "grade") and (len(trim(request.form("start"))) <> 0) then if webquizwriter.previous(request.form("name"), request.form("id"), request.form("start")) = true then 'save the results call save_results() if email = "yes" then 'send email message call send_email() end if else call webquizwriter.call_error("Security Violation: You cannot change your answers once they have been saved.", body, title) end if 'send the score report to the user call score_report() response.end elseif (request.querystring("action") = "explain") and (request.querystring("number") <> "") then if webquizwriter.securitycheck(request.querystring("name"), request.querystring("id"), request.querystring("start")) then call webquizwriter.call_error("Security Violation: You can only view explanations for one hour after taking the exam.", body, title) end if show_explain(request.querystring("number")) elseif (request.querystring("action") = "delete") and (len(trim(request.querystring("key"))) <> 0) and (request.querystring("password") = password) then webquizwriter.delete(request.querystring("key")) call webquizwriter.admmodule(id, body, title, password, PFILE) end if 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 'xxxxxxxxx print out your intropage here response.expires = 0 call WebQuizWriter.PrintHeader(body, title) %>
 
 

Begin Test Now!

Name: (Required)

ID Number:

<% =title %>

Instructions: <% =instructions %>

How to take this exam: This is an computer-based examination. You may quit at any time by clicking "Quit" on your screen. If you quit, your exam will not be graded and you will not receive a score. Only when you have answered all of the questions will you be given the chance to score your exam. Do not press "Back" on your web browser unless you are instructed to by the system. Pressing back at other times could erase some of your previous answers. You should navigate the system by clicking the links and buttons on the web pages.

 
 
<% call webquizwriter.printfooter response.end 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 'xxxxxxxxxxx start your subroutines here sub create_question(number, name, id, start) dim anumber anumber = number -1 response.expires = 0 call webquizwriter.printheader(body, title) %>
Student: <% =name & " (" & id & ")" %> Start Time: <% =formatdatetime(start) %>
Question <% =number %> of <% =rnumber %>
<% if question_type(anumber) = "MA" then response.write "Multiple Answers Permitted" elseif question_type(anumber) = "TF" then response.write "True/False" else response.write "Multiple Choice" end if %>
<% ccount = 1 do until ccount > rnumber if ccount <> int(number) then response.write "" & vbcr end if ccount = ccount + 1 loop %> <% 'xxxxxxxxxxxxxxxxxxxxxxxxx 'xxxxxxxx if question is MA then 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx if question_type(anumber) = "MA" then 'produce multiple answer type question %> <% if len(trim(responsec(anumber))) <> 0 then%> <%end if%> <% if len(trim(responsed(anumber))) <> 0 then%> <%end if%> <% if len(trim(responsee(anumber))) <> 0 then%> <%end if%>

<% = question(anumber) %>

0 then%>checked<%END IF%>> (A) <%=responsea(anumber)%>
0 then%>checked<%END IF%>> (B) <%=responseb(anumber)%>
0 then%>checked<%END IF%>> (C) <%=responsec(anumber)%>
0 then%>checked<%END IF%>> (D) <%=responsed(anumber)%>
0 then%>checked<%END IF%>> (E) <%=responsee(anumber)%>
<% 'xxxxxxxxxxxxxxxxxxxxxxxxxxx 'xxx else statment on producing multipe choice/true/false questions 'xxxxxxxxxxxxxxxxxxxxxxxxx else 'produce other type of question %> <% if len(trim(responsec(anumber))) <> 0 then%> <%end if%> <% if len(trim(responsed(anumber))) <> 0 then%> <%end if%> <% if len(trim(responsee(anumber))) <> 0 then%> <%end if%>

<% = question(anumber) %>

checked<%END IF%>> (A) <%=responsea(anumber)%>
checked<%END IF%>> (B) <%=responseb(anumber)%>
checked<%END IF%>> (C) <%=responsec(anumber)%>
checked<%END IF%>> (D) <%=responsed(anumber)%>
checked<%END IF%>> (E) <%=responsee(anumber)%>
<% end if %>

 
<% response.write "
" & vbcr response.write "" & vbcr %> <% ccount = 1 do until ccount > rnumber response.write "" & vbcr ccount = ccount + 1 loop response.write "" response.write "" response.write "
" %>
<% response.write "" & vbcr ccount = 1 do until ccount > rnumber response.write "" & vbcr ccount = ccount + 1 loop %>
<% call WebQuizWriter.printfooter response.end end sub 'create_question 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx 'xxxxxxx screen to confirm to score tests 'xxxxxxxxxxxxxxxxxxxxxxxxxx sub score_confirm(name, id, start) response.expires = 0 call webquizwriter.printheader(body, title) %>
Student: <% =name & " (" & id & ")" %> Start Time: <% =formatdatetime(start) %>
   
<% ccount = 1 do until ccount > rnumber response.write "" & vbcr ccount = ccount + 1 loop %>

All Questions have been answered!

Congratulations! You have answered every question on this examination. You now have three possible choices.

  • You can review your previous answers by clicking "Review Question. . ." below. When reviewing questions you may return to this screen at anytime by clicking 'Save Answer & Continue' on the review question screen.
  • You can quit, without grading and saving your results by clicking "Quit Exam Now" below.
  • You can submit your exam for grading by clicking "Grade Examination". Your score will be tabulated and saved to the database You will receive a score report and grade.

Your exam will not be graded, and both your answers and results will not be saved to the database until you have clicked "Grade Examination" below.

 
<% response.write "
" & vbcr response.write "" & vbcr %> <% ccount = 1 do until ccount > rnumber response.write "" & vbcr ccount = ccount + 1 loop response.write "" response.write "" response.write "
" %>
<% response.write "" & vbcr ccount = 1 do until ccount > rnumber response.write "" & vbcr ccount = ccount + 1 loop %>
<% call WebQuizWriter.printfooter response.end end sub sub save_results() set_answers ncount = 1 number = 1 actual = 0 correct = 0 WRONG = "" do until ncount > rnumber if answer(number) = qanswer(actual) then correct = correct + 1 'response.write "correct
" ELSE WRONG = WRONG & NUMBER & ", " 'response.write "wrong
" END IF number = number + 1 actual = actual + 1 ncount = ncount + 1 loop 'junk772 'Create and Open Recordset Object call webquizwriter.insertscore(request.form("name"), request.form("id"), formatdatetime(request.form("start"), vbgeneraldate), wrong, int(correct/rnumber * 100), id) end sub sub send_email() on error resume next 'compute the message to send message = "Score report: " & vbcr message = message & "---------------" & vbcr message = message & "Exam Title: " & title & vbcr message = message & "Student Name: " & request.form("name") & vbcr message = message & "Time Began: " & formatdatetime(REQUEST.FORM("START"), vbgeneraldate) & vbcr message = message & "Time Completed: " & formatdatetime(now(), vbgeneraldate) & vbcr message = message & "Elapsed Time: " & DATEDIFF("n", request.form("start"), now()) & " minutes" & vbcr message = message & "Score: " & int(correct/rnumber * 100) & " %" & vbcr message = message & "Incorrect Questions: " & wrong & vbcr set jmail = server.createobject("jmail.smtpmail") jmail.serveraddress = email_server jmail.sender = "WebquizWriter@yourserver.com" jmail.subject = title & " Score Report" jmail.addrecipient email_to jmail.body = message jmail.priority = 3 jmail.execute end sub sub score_report() set_answers response.expires = 0 call webquizwriter.printheader(body, title) if aspresults = "3" then %>

Your score has been saved to the database

Click the button below to exit this test

<% call webquizwriter.printfooter() response.end End If %> <% Sncount = 1 Snumber = 1 Sactual = 0 Scorrect = 0 do until Sncount > rnumber if answer(Snumber) = qanswer(Sactual) then %> <%ELSE%> <% END IF Snumber = Snumber + 1 Sactual = Sactual + 1 Sncount = Sncount + 1 loop %>

WebQuiz Writer Score Report

Student: <% =request.form("name") & " (" & request.form("id") & ")" %> <% ncount = 1 number = 1 actual = 0 correct = 0 do until ncount > rnumber if answer(number) = qanswer(actual) then correct = correct + 1 END IF number = number + 1 actual = actual + 1 ncount = ncount + 1 loop %> Score: <% = int(correct/rnumber * 100)%>% Correct
Question Status <% if aspresults = "1" then %>Answer<% else %>   <% end if %>
<%=SNCOUNT%> Correct! <% if aspresults = "1" then %>&id=<%=replace(request.form("id"), " ", "***")%>&start=<%=replace(request.form("start"), " ", "***")%>&number=<%=sncount%>&action=explain" target="_blank"> Answer<% else %>   <% end if %>
<%=SNCOUNT%> Incorrect! <% if aspresults = "1" then %>&id=<%=replace(request.form("id"), " ", "***")%>&start=<%=replace(request.form("start"), " ", "***")%>&number=<%=sncount%>&action=explain" target="_blank"> Answer<% else %>   <% end if %>
&nsbp;

Your score has been saved to the database.

<% call WebQuizWriter.printfooter end sub sub show_explain(enumber) enumber enumber = enumber -1 response.expires = 0 call webquizwriter.printheader(body, title) %>

WebQuiz Writer Answer & Explanation

 
Question <% =(enumber +1)%>
<% if question_type(enumber) = "MA" then response.write "Multiple Answers Permitted" elseif question_type(enumber) = "TF" then response.write "True/False" else response.write "Multiple Choice" end if %>
<% if len(trim(responsec(enumber))) <> 0 then%> <%end if%> <% if len(trim(responsed(enumber))) <> 0 then%> <%end if%> <% if len(trim(responsee(enumber))) <> 0 then%> <%end if%>

<% = question(enumber) %>

<%if instr(1, qanswer(enumber), "A", 1) <> 0 then%>Correct<%END IF%> (A) <%=responsea(enumber)%>
<%if instr(1, qanswer(enumber), "B", 1) <> 0 then%>Correct<%END IF%> (B) <%=responseb(enumber)%>
<%if instr(1, qanswer(enumber), "C", 1) <> 0 then%>Correct<%END IF%> (C) <%=responsec(enumber)%>
<%if instr(1, qanswer(enumber), "D", 1) <> 0 then%>Correct<%END IF%> (D) <%=responsed(enumber)%>
<%if instr(1, qanswer(enumber), "E", 1) <> 0 then%>Correct<%END IF%> (E) <%=responsee(enumber)%>
<%=explanation(enumber)%>
&nsbp;
<% call WebQuizWriter.printfooter response.end end sub 'xxxxxxxxxxxxxxxxxxxxxxxxxx 'xxxx the big sub goes here Sub set_answers() answer(0) = request.form("Q0") answer(1) = request.form("Q1") answer(2) = request.form("Q2") answer(3) = request.form("Q3") answer(4) = request.form("Q4") answer(5) = request.form("Q5") answer(6) = request.form("Q6") answer(7) = request.form("Q7") answer(8) = request.form("Q8") answer(9) = request.form("Q9") answer(10) = request.form("Q10") answer(11) = request.form("Q11") answer(12) = request.form("Q12") answer(13) = request.form("Q13") answer(14) = request.form("Q14") answer(15) = request.form("Q15") answer(16) = request.form("Q16") answer(17) = request.form("Q17") answer(18) = request.form("Q18") answer(19) = request.form("Q19") answer(20) = request.form("Q20") answer(21) = request.form("Q21") answer(22) = request.form("Q22") answer(23) = request.form("Q23") answer(24) = request.form("Q24") answer(25) = request.form("Q25") answer(26) = request.form("Q26") answer(27) = request.form("Q27") answer(28) = request.form("Q28") answer(29) = request.form("Q29") answer(30) = request.form("Q30") answer(31) = request.form("Q31") answer(32) = request.form("Q32") answer(33) = request.form("Q33") answer(34) = request.form("Q34") answer(35) = request.form("Q35") answer(36) = request.form("Q36") answer(37) = request.form("Q37") answer(38) = request.form("Q38") answer(39) = request.form("Q39") answer(40) = request.form("Q40") answer(41) = request.form("Q41") answer(42) = request.form("Q42") answer(43) = request.form("Q43") answer(44) = request.form("Q44") answer(45) = request.form("Q45") answer(46) = request.form("Q46") answer(47) = request.form("Q47") answer(48) = request.form("Q48") answer(49) = request.form("Q49") answer(50) = request.form("Q50") answer(51) = request.form("Q51") answer(52) = request.form("Q52") answer(53) = request.form("Q53") answer(54) = request.form("Q54") answer(55) = request.form("Q55") answer(56) = request.form("Q56") answer(57) = request.form("Q57") answer(58) = request.form("Q58") answer(59) = request.form("Q59") answer(60) = request.form("Q60") answer(61) = request.form("Q61") answer(62) = request.form("Q62") answer(63) = request.form("Q63") answer(64) = request.form("Q64") answer(65) = request.form("Q65") answer(66) = request.form("Q66") answer(67) = request.form("Q67") answer(68) = request.form("Q68") answer(69) = request.form("Q69") answer(70) = request.form("Q70") answer(71) = request.form("Q71") answer(72) = request.form("Q72") answer(73) = request.form("Q73") answer(74) = request.form("Q74") answer(75) = request.form("Q75") answer(76) = request.form("Q76") answer(77) = request.form("Q77") answer(78) = request.form("Q78") answer(79) = request.form("Q79") answer(80) = request.form("Q80") answer(81) = request.form("Q81") answer(82) = request.form("Q82") answer(83) = request.form("Q83") answer(84) = request.form("Q84") answer(85) = request.form("Q85") answer(86) = request.form("Q86") answer(87) = request.form("Q87") answer(88) = request.form("Q88") answer(89) = request.form("Q89") answer(90) = request.form("Q90") answer(91) = request.form("Q91") answer(92) = request.form("Q92") answer(93) = request.form("Q93") answer(94) = request.form("Q94") answer(95) = request.form("Q95") answer(96) = request.form("Q96") answer(97) = request.form("Q97") answer(98) = request.form("Q98") answer(99) = request.form("Q99") answer(100) = request.form("Q100") end sub 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 'xxxxxxxxxxxx End of script goes here 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 'xxxxendxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx %>