File:  [LON-CAPA] / loncom / homework / CAPA-converter / convert.c
Revision 1.3: download - view: text, annotated - select for diffs
Sun Nov 18 09:09:52 2001 UTC (22 years, 5 months ago) by albertel
Branches: MAIN
CVS tags: HEAD
- added some option parsing code
- added option -i prefix to specify the <import> prefix

/* ======================================================================== */
/*       Feb. 10 1997   Isaac Tsai                                          */
/* ======================================================================== */

#include <stdio.h>
#include <ctype.h>
#include <sys/types.h>
#include <sys/stat.h>  
#include <signal.h>
#include <time.h>
#include <math.h>
#include <string.h>
#include <unistd.h>

extern char *optarg;
extern int optind, opterr, optout;

#define   YES    1

#include "capaCommon.h"

char    *progname;
char *import_prefix="/res/capa";

void
print_answer(FILE *o_fp,int ans_cnt,char *ans,char *lower,char *upper,char *unit)
{
  if (unit && (strlen(unit)>0)) 
    if(ans_cnt==2)  fprintf(o_fp,"ANS:%s %s %s %s\n",ans,lower,upper,unit); 
    else  fprintf(o_fp,"ANS:%s %s\n",lower,unit);
  else 
    if(ans_cnt==2)  fprintf(o_fp,"ANS:%s %s %s\n",ans,lower,upper); 
    else  fprintf(o_fp,"ANS:%s\n",lower);
}

void print_question (FILE *o_fp,char *question)
{
  fprintf(o_fp,"BQES:\n%s\nEQES:\n",question);
}

int get_options ( int argc, char **argv, char ** filename)
{
  int opt;
  /*opterr=0;*/
  while ((opt=getopt(argc,argv,"i:f:"))!=-1) {
    switch (opt) {
    case 'i': 
      import_prefix=optarg;
      break;
    case 'f': 
      *filename=optarg;
      break;
    case '?':
      return -1;
      break;
    }
  }
  return 0;
}

int main (int argc, char **argv) 
{
  extern  int        Parsemode_f;

  /* unused  
  extern  int        managermode;
  int         num_answers, q_idx;
  char        lower[ANSWER_STRING_LENG], upper[ANSWER_STRING_LENG];
  int         StartSet = 1, EndSet = 1;
  char        tmp_str[ANSWER_STRING_LENG];
  double      tmp_ans;
  T_student   a_student;
  Problem_t  *p;
  */
  Problem_t  *first_prob;
  int result, setIdx = 1, q_cnt;
  char *      filename=NULL;

  Parsemode_f=ASCII_MODE;
  
  if ( get_options(argc,argv,&filename) == -1 || filename==NULL ) {
    printf("USAGE: %s [-i prefix] -f filename\n",argv[0]);
    exit(-1);
  }

  result = capa_parse(setIdx, &first_prob, filename ,&q_cnt,NULL);

  return (0);
}



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