Diff for /capa/capa51/pProj/capalogin.c between versions 1.3 and 1.6

version 1.3, 1999/11/08 22:30:02 version 1.6, 2000/07/07 18:33:03
Line 1 Line 1
 /* Copyright 1992-1997 Michigan State University, Board of Trustee  */  /* main code that implements the capa login shell
      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 Library 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
      Library General Public License for more details.
   
      You should have received a copy of the GNU Library 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.
   */
   
 /* version 4.6 */  /* version 4.6 */
   
 /* Jan 28  1997  I.T. */  /* Jan 28  1997  I.T. */
Line 1142  int  give_response(Problem_t *p,char **a Line 1165  int  give_response(Problem_t *p,char **a
 {  {
   int      can_answer;    int      can_answer;
   char     tmp_str[MAX_BUFFER_SIZE], *c_answer_str;    char     tmp_str[MAX_BUFFER_SIZE], *c_answer_str;
     char    *error=NULL;
   
     switch( capa_check_answers(p,a,cnt,&error) ) {
   switch( capa_check_answers(p,a,cnt) ) {  
   
     case  EXACT_ANS:  move(A_ROW,S_COL); clrtoeol();      case  EXACT_ANS:  move(A_ROW,S_COL); clrtoeol();
                       mvaddstr(A_ROW,S_COL,"*Yes Computer gets:");                         mvaddstr(A_ROW,S_COL,"*Yes Computer gets:"); 
Line 1172  int  give_response(Problem_t *p,char **a Line 1195  int  give_response(Problem_t *p,char **a
                      *log_char='Y'; can_answer=NAY;                       *log_char='Y'; can_answer=NAY;
                       if(*tried < TRY_BOUND)  (*tried)++;                        if(*tried < TRY_BOUND)  (*tried)++;
                       break;                        break;
       case  WANTED_NUMERIC:   move(S_ROW,S_COL); clrtoeol();  
                         mvaddstr(S_ROW,S_COL,"*Enter a Number Ans");
                        *log_char='S'; can_answer=YAK;
                         break;
     case  SIG_FAIL:   move(S_ROW,S_COL); clrtoeol();        case  SIG_FAIL:   move(S_ROW,S_COL); clrtoeol();  
                       mvaddstr(S_ROW,S_COL,"*Adjust Sig. Figs. ");                        mvaddstr(S_ROW,S_COL,"*Adjust Sig. Figs. ");
                      *log_char='S'; can_answer=YAK;                       *log_char='S'; can_answer=YAK;
         capa_mfree(error);
                       break;                        break;
     case  UNIT_FAIL:  move(S_ROW,S_COL); clrtoeol();        case  UNIT_FAIL:  move(S_ROW,S_COL); clrtoeol();  
                       mvaddstr(S_ROW,S_COL,"*Units incorrect   ");                        mvaddstr(S_ROW,S_COL,"*Units incorrect   ");
                      *log_char='U'; can_answer=YAK;                       *log_char='U'; can_answer=YAK;
         capa_mfree(error);
                       break;                        break;
     case  UNIT_NOTNEEDED:  move(S_ROW,S_COL); clrtoeol();        case  UNIT_NOTNEEDED:  move(S_ROW,S_COL); clrtoeol();  
                       mvaddstr(S_ROW,S_COL,"*Only a number required");                        mvaddstr(S_ROW,S_COL,"*Only a number required");
                      *log_char='U'; can_answer=YAK;                       *log_char='U'; can_answer=YAK;
         capa_mfree(error);
                       break;                        break;
     case  NO_UNIT:    move(S_ROW,S_COL); clrtoeol();        case  NO_UNIT:    move(S_ROW,S_COL); clrtoeol();  
                       mvaddstr(S_ROW,S_COL,"*Units required    ");                        mvaddstr(S_ROW,S_COL,"*Units required    ");
Line 1227  int  give_inhibited_response(Problem_t * Line 1257  int  give_inhibited_response(Problem_t *
 {  {
   int      can_answer;    int      can_answer;
   char     tmp_str[MAX_BUFFER_SIZE];    char     tmp_str[MAX_BUFFER_SIZE];
     char    *error=NULL;
   
     switch( capa_check_answers(p,a,cnt,&error) ) {
   switch( capa_check_answers(p,a,cnt) ) {  
   
   
     case  EXACT_ANS:  *log_char='Y'; break;      case  EXACT_ANS:  *log_char='Y'; break;
     case  APPROX_ANS: *log_char='Y'; break;      case  APPROX_ANS: *log_char='Y'; break;
     case  SIG_FAIL:   *log_char='S'; break;      case  SIG_FAIL:   *log_char='S'; capa_mfree(error); break;
     case  UNIT_FAIL:  *log_char='U'; break;      case  UNIT_FAIL:  *log_char='U'; capa_mfree(error); break;
     case  UNIT_NOTNEEDED: *log_char='U'; break;      case  UNIT_NOTNEEDED: *log_char='U'; capa_mfree(error); break;
     case  NO_UNIT:    *log_char='u'; break;      case  NO_UNIT:    *log_char='u'; break;
     case  BAD_FORMULA:*log_char='F'; break;      case  BAD_FORMULA:*log_char='F'; break;
     case  INCORRECT:  *log_char='N'; break;      case  INCORRECT:  *log_char='N'; break;
       case  WANTED_NUMERIC:  *log_char='s'; break;
     case ANS_CNT_NOT_MATCH: *log_char='C'; break;      case ANS_CNT_NOT_MATCH: *log_char='C'; break;
   }    }
       

Removed from v.1.3  
changed lines
  Added in v.1.6


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