version 1.13, 2000/03/22 21:08:03
|
version 1.20, 2000/08/07 20:47:29
|
Line 1
|
Line 1
|
|
/* Most of the web output generation routines. |
|
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. |
|
*/ |
|
|
/* ===================================================================== */ |
/* ===================================================================== */ |
/* copyrighted by Isaac Tsai, 1998, 1999, 2000 */ |
|
/* ===================================================================== */ |
/* ===================================================================== */ |
#include <stdio.h> |
#include <stdio.h> |
#include <ctype.h> |
#include <ctype.h> |
Line 229 void web_printheader(FILE *out)
|
Line 252 void web_printheader(FILE *out)
|
fprintf(out,"<HTML><HEAD>\n"); |
fprintf(out,"<HTML><HEAD>\n"); |
fprintf(out,"<BODY BGCOLOR=\"#FFFFFF\" LINK=\"#0000EE\" VLINK=\"#EE1100\">\n"); |
fprintf(out,"<BODY BGCOLOR=\"#FFFFFF\" LINK=\"#0000EE\" VLINK=\"#EE1100\">\n"); |
} |
} |
|
|
#ifdef CAPA_WEB |
|
fprintf(out,"<!-- capasbin, CAPA Version %s, %s -->\n", |
|
CAPA_VER,COMPILE_DATE); |
|
#else |
|
fprintf(out,"<!-- capahtml, CAPA Version %s, %s -->\n", |
|
CAPA_VER,COMPILE_DATE); |
|
#endif |
|
} |
} |
|
|
void web_printfooter(FILE *out) |
void web_printfooter(FILE *out) |
Line 1421 char *class_dir; char *c_owner;char *cla
|
Line 1436 char *class_dir; char *c_owner;char *cla
|
} |
} |
} |
} |
|
|
if ((mode==CHECK_ANSWER_MODE) || (mode== TRY_SET_MODE)) |
if ((mode==CHECK_ANSWER_MODE) || (mode== TRY_SET_MODE) || (mode==VIEW_PREVIOUS_MODE)) |
capa_set_login_time(g_student_number,set); |
capa_set_login_time(g_student_number,set); |
|
|
capa_get_header(&header,set); |
capa_get_header(&header,set); |
Line 1518 char *class_dir; char *c_owner;char *cla
|
Line 1533 char *class_dir; char *c_owner;char *cla
|
} |
} |
if(mode == VIEW_PREVIOUS_MODE) { /* VIEW_PREVIOUS_MODE */ |
if(mode == VIEW_PREVIOUS_MODE) { /* VIEW_PREVIOUS_MODE */ |
/* |
/* |
if( display_ans ) { |
|
if( prob_idx->ans_type == ANSWER_IS_FLOAT ) { |
if( prob_idx->ans_type == ANSWER_IS_FLOAT ) { |
a = (double)atof(prob_idx->answer); |
a = (double)atof(prob_idx->answer); |
sprintf(cmp_ans,prob_idx->ans_fmt, a); |
sprintf(cmp_ans,prob_idx->ans_fmt, a); |
Line 1539 char *class_dir; char *c_owner;char *cla
|
Line 1553 char *class_dir; char *c_owner;char *cla
|
sprintf(buf,"<p><tt><b>Answer:</b> %s</tt><br>\n",cmp_ans); |
sprintf(buf,"<p><tt><b>Answer:</b> %s</tt><br>\n",cmp_ans); |
} |
} |
*/ |
*/ |
|
if( display_ans ) { |
c_ans=answers_string(ANSWER_STRING_MODE, prob_idx); |
c_ans=answers_string(ANSWER_STRING_MODE, prob_idx); |
sprintf(buf,"<p><tt><b>Answer:</b> %s</tt><br>",c_ans); |
sprintf(buf,"<p><tt><b>Answer:</b> %s</tt><br>",c_ans); |
append_qtext(buf); |
append_qtext(buf); |
Line 1547 char *class_dir; char *c_owner;char *cla
|
Line 1562 char *class_dir; char *c_owner;char *cla
|
sprintf(buf,"<p><b>Explanation: </b>\n<p>%s<br>\n",prob_idx->explain); |
sprintf(buf,"<p><b>Explanation: </b>\n<p>%s<br>\n",prob_idx->explain); |
append_qtext(buf); |
append_qtext(buf); |
} |
} |
|
} |
} else { /* could be TRY_SET_MODE, CHECK_ANSWER_MODE */ |
} else { /* could be TRY_SET_MODE, CHECK_ANSWER_MODE */ |
if( g_passdue ) { |
if( g_passdue ) { |
get_response(header.partial_credit[question_idx],entry.answers[question_idx],question_idx,prob_idx); |
get_response(header.partial_credit[question_idx],entry.answers[question_idx],question_idx,prob_idx); |
Line 2758 int *hc;int *qc;int *fs;
|
Line 2774 int *hc;int *qc;int *fs;
|
configResult=read_capa_config("homework_weight",buf); |
configResult=read_capa_config("homework_weight",buf); |
if (configResult != 0 && configResult != -1 ) { |
if (configResult != 0 && configResult != -1 ) { |
sscanf(buf,"%f", &hw_w); |
sscanf(buf,"%f", &hw_w); |
if(hw_w <= 0.0 ) { |
if(hw_w < 0.0 ) { |
hw_w = DEFAULT_HW_W; |
hw_w = DEFAULT_HW_W; |
} |
} |
} else { |
} else { |
Line 2767 int *hc;int *qc;int *fs;
|
Line 2783 int *hc;int *qc;int *fs;
|
configResult=read_capa_config("quiz_weight",buf); |
configResult=read_capa_config("quiz_weight",buf); |
if (configResult != 0 && configResult != -1 ) { |
if (configResult != 0 && configResult != -1 ) { |
sscanf(buf,"%f", &qz_w); |
sscanf(buf,"%f", &qz_w); |
if(qz_w <= 0.0 ) { |
if(qz_w < 0.0 ) { |
qz_w = DEFAULT_QZ_W; |
qz_w = DEFAULT_QZ_W; |
} |
} |
} else { |
} else { |
Line 2776 int *hc;int *qc;int *fs;
|
Line 2792 int *hc;int *qc;int *fs;
|
configResult=read_capa_config("exam_weight",buf); |
configResult=read_capa_config("exam_weight",buf); |
if (configResult != 0 && configResult != -1 ) { |
if (configResult != 0 && configResult != -1 ) { |
sscanf(buf,"%f", &ex_w); |
sscanf(buf,"%f", &ex_w); |
if(ex_w <= 0.0 ) { |
if(ex_w < 0.0 ) { |
ex_w = DEFAULT_EX_W; |
ex_w = DEFAULT_EX_W; |
} |
} |
} else { |
} else { |
Line 2785 int *hc;int *qc;int *fs;
|
Line 2801 int *hc;int *qc;int *fs;
|
configResult=read_capa_config("final_weight",buf); |
configResult=read_capa_config("final_weight",buf); |
if (configResult != 0 && configResult != -1 ) { |
if (configResult != 0 && configResult != -1 ) { |
sscanf(buf,"%f", &fe_w); |
sscanf(buf,"%f", &fe_w); |
if(fe_w <= 0.0 ) { |
if(fe_w < 0.0 ) { |
fe_w = DEFAULT_FE_W; |
fe_w = DEFAULT_FE_W; |
} |
} |
} else { |
} else { |
Line 2794 int *hc;int *qc;int *fs;
|
Line 2810 int *hc;int *qc;int *fs;
|
configResult=read_capa_config("correction_weight",buf); |
configResult=read_capa_config("correction_weight",buf); |
if (configResult != 0 && configResult != -1 ) { |
if (configResult != 0 && configResult != -1 ) { |
sscanf(buf,"%f", &pc_w); |
sscanf(buf,"%f", &pc_w); |
if(pc_w <= 0.0 ) { |
if(pc_w < 0.0 ) { |
pc_w = DEFAULT_PC_W; |
pc_w = DEFAULT_PC_W; |
} |
} |
} else { |
} else { |