--- capa/capa51/pProj/capalogin.c 1999/09/28 21:26:21 1.1 +++ capa/capa51/pProj/capalogin.c 1999/11/08 22:30:02 1.3 @@ -777,7 +777,8 @@ int type; set_score, /* Score on a set */ term_score=0, /* Total points received */ term_total=0, /* Total points possible */ - result; + result, + tot_num_sets=0; T_entry entry; /* Database entry for a set */ char buf[MAX_BUFFER_SIZE], buf2[MAX_BUFFER_SIZE]; T_header header; /* Problem set header */ @@ -796,6 +797,9 @@ int type; probs_in_set[0]= 0; for (set_idx=1; set_idx<=set; set_idx++) { if (capa_get_header(&header,set_idx)) return; + if ( capa_check_date(CHECK_OPEN_DATE,student_number,*section,set_idx) < 0 ) + continue; + tot_num_sets++; capa_get_entry(&entry,student_number,set_idx); sscanf(header.num_questions,"%d", &(probs_in_set[set_idx]) ); start_at[set_idx] = start_at[set_idx-1]+2*(1+probs_in_set[set_idx-1]/50); @@ -840,8 +844,12 @@ int type; /* SHOW TOTALS */ /* if capalogin_show_summary_score is set to none don't show it */ - sprintf(buf,"%d sets, total=%3d/%3d (%d%%)", set, term_score, term_total, - 100*term_score/term_total); + if (term_total > 0 ) { + sprintf(buf,"%d sets, total=%3d/%3d (%d%%)", tot_num_sets, term_score, term_total, + 100*term_score/term_total); + } else { + sprintf(buf,"%d sets, total=%3d/%3d", tot_num_sets, term_score, term_total); + } result=read_capa_config("capalogin_show_summary_score",buf2); if (result != 0 && result != -1) { if (strcasecmp(buf2,"none")==0) { @@ -860,7 +868,8 @@ int type; /* don't show summary for set if inhibit response is set*/ inhibit_response=capa_check_option(OPTION_INHIBIT_RESPONSE,set_idx,*section); if (inhibit_response > 0) continue; - + if ( capa_check_date(CHECK_OPEN_DATE,student_number,*section,set_idx) < 0 ) + continue; set_score=0; set_start_line=line; /* Stop if not enough lines to summarize set */ @@ -1124,7 +1133,7 @@ print_unit_components(FILE *fp,Unit_t *t } -#define ANSWER_STRING_LENG 64 +/*#define ANSWER_STRING_LENG 64*/ #define UNIT_STRING_LENG 64 #define FORMAT_STRING_LENG 32 @@ -1856,7 +1865,7 @@ int *section; mvaddstr(X_ROW,H_COL,":H = Show Hint"); } switch(log_char) { - case 'U': case 'u': case 'S': + case 'U': case 'u': case 'S': case 'F': entry.answers[num]='N'; break; case 'Y': allow_hint=1; mvaddstr(X_ROW,H_COL,":H = Show Hint"); /* fall through here */ default: entry.answers[num]=log_char; break;