Annotation of capa/capa51/Historic/student_stats.c, revision 1.1.1.1
1.1 albertel 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>