File:  [LON-CAPA] / capa / capa51 / Historic / student_stats.c
Revision 1.1: download - view: text, annotated - select for diffs
Tue Sep 28 21:27:03 1999 UTC (24 years, 8 months ago) by albertel
Branches: MAIN
CVS tags: HEAD
Initial revision

    1: #ifdef NeXT
    2: #include <stdlib.h>
    3: #include <bsd/curses.h>
    4: #else
    5: #include <malloc.h>
    6: double atof();
    7: #include <curses.h>
    8: #endif
    9: 
   10: #include <stdio.h>
   11: #include <ctype.h>
   12: #include <sys/types.h>
   13: #include <signal.h>
   14: #include <math.h>
   15: #include <string.h>
   16: 
   17: #include "capaCommon.h"
   18: 
   19: 
   20: main (int argc, char  **argv) 
   21: {
   22: 
   23:   T_student *head_p, *c_p;
   24:   T_header   a_header;
   25:   T_entry    a_entry;
   26:   int        student_cnt, set_idx;
   27:   int        sec, set_scores, set_valids;
   28:   char      *answers_p, wgt[128], pcr[128];
   29:   int        MaxSec;
   30:   int        MaxSet=9;
   31:   int        total_scores, total_set_valids;
   32:   int        count;
   33:   int        *cnt_arry;
   34:    int        inputNotOK=1;
   35:    char       path[FILE_NAME_LENGTH];
   36:    char       filename[FILE_NAME_LENGTH];
   37:    /* char       classlist[FILE_NAME_LENGTH];
   38:    char       studentclass[FILE_NAME_LENGTH]; */
   39:    char       *classlist;
   40:    char       *studentclass;
   41:    char       *progname;
   42: 
   43:    if(argc>1) {
   44:      sec = atol(argv[2]);
   45:    } else {
   46:      sec =1;
   47:    }
   48: 
   49:    while ( inputNotOK ) {
   50:        puts("Enter the ABSOLUTE path of class");
   51:        scanf("%s", path);
   52:        if( access(path, F_OK) == -1 ) {
   53:        } else {
   54:            sprintf(filename,"%s/records",path);
   55:            if( access(filename, F_OK) == -1 ) {
   56:             puts("There isn't a records dir in this CLASS directory");
   57:             puts("Please Specify another calss");
   58:           } else {
   59:             inputNotOK = 0;
   60:           }
   61:        }
   62:     }
   63: 
   64:     chdir(path);
   65: 
   66: 
   67:    for (sec=1;sec<30; sec++){
   68:        if ((count=capa_get_section(&head_p,sec))>0)
   69:           MaxSec=sec;
   70:    }
   71: 
   72:    for (sec=1;sec<MaxSec;sec++){
   73:        student_cnt = capa_sorted_section(&head_p, sec, 2);
   74:        printf("Section #%d                          Set     ",sec); 
   75:        for (set_idx=1; set_idx<MaxSet; set_idx++) {
   76:            printf(" %2d ",set_idx);
   77:        }
   78:        printf("  Total\n");
   79:        for (c_p=head_p ; c_p ; c_p=c_p->s_next){
   80:            total_scores=0;
   81:            total_set_valids=0;
   82:            printf("%s  (%s)",c_p->s_nm,c_p->s_sn);
   83:            for (set_idx=1; set_idx<MaxSet; set_idx++) {
   84:                set_scores = capa_get_score(c_p->s_sn,set_idx,&set_valids,&answers_p);
   85:                if (set_scores == -1) {   /* never login to do assignments */
   86:                   printf("   -",set_valids);
   87:                   total_set_valids=total_set_valids+set_valids;
   88:                } else {
   89:                   printf("  %2d",set_scores,set_valids);
   90:                   total_scores=total_scores+set_scores;
   91:                   total_set_valids=total_set_valids+set_valids;
   92:                  }
   93:                capa_mfree(answers_p);
   94:            }
   95:            printf("  %3d/%3d \n",total_scores,total_set_valids);
   96:        }
   97: 
   98:        printf("Total students = %d\n\n\n",student_cnt);
   99:        free_students(head_p);
  100:    }
  101: 
  102: }
  103: 

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