File:  [LON-CAPA] / loncom / homework / caparesponse / caparesponse.c
Revision 1.1: download - view: text, annotated - select for diffs
Mon Sep 11 21:13:51 2000 UTC (23 years, 8 months ago) by albertel
Branches: MAIN
CVS tags: HEAD
- adding caparesponse tag

#include <capaCommon.h>
int caparesponse_capa_check_answer(char *response,char *correct,
				   int type,int tol_type,double tolerance,
				   int sig_lbound,int sig_ubound, 
				   char *ans_fmt, char *unit_str,
				   int calc)
{
  int result;
  Problem_t p;
  char *error=NULL,filename[FILE_NAME_LENGTH];
  FILE *fp;

  /*need to initialize unit parser*/
  sprintf(filename,"/home/httpd/html/res/adm/include/capa.units");
  if ((fp=fopen(filename,"r"))==NULL) {
    /* printf("Error: can't open %s\n",filename);*/
      return (-1); 
  }
  u_getunit(fp);
  fclose(fp);

  p.ans_type  = type;
  p.answer    = correct;
  p.tol_type  = tol_type;
  p.tolerance = tolerance;
  p.sig_l     = sig_lbound;
  p.sig_u     = sig_ubound;
  p.fmt       = strsave(ans_fmt);
  p.unit_str  = strsave(unit_str);
  p.ans_unit  = u_parse_unit(unit_str);
  p.calc_type = calc;

  /* assign_id_list and assign_pts_list exist in capaGrammerDef.y */
  p.ans_id_list=NULL;
  p.ans_pts_list=NULL;


  result=capa_check_answer(&p,response,&error);

  if (error!=NULL) {free(error);}

  return result;
}

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>