--- capa/capa51/GUITools/scorer.tcl 2000/02/22 18:10:27 1.12 +++ capa/capa51/GUITools/scorer.tcl 2000/08/07 20:47:29 1.15 @@ -1,3 +1,26 @@ +# automated scoring of bubble sheets +# Copyright (C) 1992-2000 Michigan State University +# +# The CAPA system is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of the +# License, or (at your option) any later version. +# +# The CAPA system is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with the CAPA system; see the file COPYING. If not, +# write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. +# +# As a special exception, you have permission to link this program +# with the TtH/TtM library and distribute executables, as long as you +# follow the requirements of the GNU GPL in regard to all of the +# software in the executable aside from TtH/TtM. + ########################################################### # scorer.output.num file looks like this # classname setNum numQuest flags questiondescriptor @@ -26,6 +49,11 @@ proc scorerMessage { num mesg {tag norma proc scorerError { num errorCode args } { global gScorer switch $errorCode { + INVALID_CAPAID { + lappend gScorer(errortype.$num) $errorCode + lappend gScorer(errors.$num) [lindex $args 0] + scorerMessage $num "Student [lindex $args 1]'s paper had an unknown CapaID" error + } LOTS_OF_ANON_MODE_MATCHES { lappend gScorer(errortype.$num) $errorCode lappend gScorer(errors.$num) [lindex $args 0] @@ -1038,9 +1066,14 @@ proc handleStudent { num answerStructVar scorerError $num LOTS_OF_ANON_MODE_MATCHES "$answerStruct(orignalLine)" \ $answerStruct(StudentNumber) return 0 + } else { + if { [llength $answerStruct(questionPID)] == 0 } { + scorerError $num INVALID_CAPAID "$answerStruct(orignalLine)" \ + $answerStruct(StudentNumber) + return 0 + } } } - set answerStruct(Name) "$answerStruct(LastName) $answerStruct(FirstName) $answerStruct(MiddleInitial)" scorerMessage $num "Getting Possible Answers for $answerStruct(StudentNumber), paper# $answerStruct(SerialNumber). . ."