--- loncom/homework/caparesponse/caparesponse.c 2005/12/01 22:34:10 1.19 +++ loncom/homework/caparesponse/caparesponse.c 2024/04/29 00:16:11 1.21 @@ -1,6 +1,6 @@ /* The LearningOnline Network with CAPA * CAPA wrapper code - * $Id: caparesponse.c,v 1.19 2005/12/01 22:34:10 albertel Exp $ + * $Id: caparesponse.c,v 1.21 2024/04/29 00:16:11 raeburn Exp $ * * Copyright Michigan State University Board of Trustees * @@ -134,7 +134,7 @@ int caparesponse_capa_check_answer(char int caparesponse_get_real_response (char* unit_str, char* answer, double* scaled) { //double caparesponse_get_real_response (char* unit_str, char* answer) { - int input_len,all_alphabet,idx,outcome,result; + int input_len,all_alphabet,idx,outcome=-1,result; double n_part,scale=1.0,given,target; char input[ANSWER_STRING_LENG],filename[FILE_NAME_LENGTH], tmp_unit_str[ANSWER_STRING_LENG]; @@ -165,6 +165,8 @@ int caparesponse_get_real_response (char if( !all_alphabet ) { tmp_unit_str[0] = 0; outcome = split_num_unit(answer,&n_part,input,tmp_unit_str); + } + if( outcome > 0 ) { if( outcome > 1 ) { /* with both num and unit parts or only unit part */ if( ans_unit != NULL ) { result = check_correct_unit(tmp_unit_str,ans_unit,&scale); @@ -182,14 +184,13 @@ int caparesponse_get_real_response (char *scaled=given; /* convert the given answer into proper scale for units */ } /* end if unit check */ - } else { /* user entered a -lphabet, but no number */ + } else { /* user entered alphabet, but no number */ result = WANTED_NUMERIC; } return result; } -/* Testing harnass +/* Testing harness int main(void) { int result=0; char *reterror=NULL;