Annotation of capa/capa51/Historic/bubblersurvey.c, revision 1.1.1.1
1.1 albertel 1: #include <stdio.h>
2: #include "Capa/capaCommon.h"
3: #include "bubbler.h"
4: #include <ctype.h>
5:
6: #ifdef F_DBUG
7: extern FILE *dfp;
8: #endif
9:
10: int main()
11: {
12: T_entry grade;
13: FILE * inputFile, * outputFile;
14: int i=0,setnumber,score,section,setId,done=0,numQuestions;
15: char class[10],set[3],name[MAX_NAME_CHAR+1],buf,buffmt[128],
16: studentnumber[MAX_STUDENT_NUMBER+1],filename[128];
17: int q=0,r=0,answer[MAXQUEST][11];
18: Question questions[MAXQUEST];
19:
20: printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
21: printf("Covert form Bubbler output to survey results ");
22: printf("Version 0.1.00\n");
23: printf("Please enter the Set Id number.");
24: scanf("%d",&setId);
25: sprintf(filename,"bubbler.output.%d",setId);
26: inputFile=fopen(filename,"r");
27:
28: if (inputFile==NULL)
29: {
30: fprintf(stderr,"%s not found\n",filename);
31: exit(-1);
32: }
33:
34: fscanf(inputFile,"%s %s",class,set);
35: printf("%s %s\n",class,set);
36: setnumber=atoi(set);
37:
38: i=0;
39: fscanf(inputFile,"%c",&buf);
40: while(!done)
41: {
42: buf=fgetc(inputFile);
43: if (buf!='\n')
44: {
45: questions[i].type=buf;
46: buf=fgetc(inputFile);
47: questions[i].points=questions[i].leafs=(int)(buf-'0');
48: i++;
49: }
50: else
51: {
52: done=1;
53: }
54: }
55:
56: numQuestions=i;
57:
58: for(q=0;q<MAXQUEST;q++)
59: for(r=0;r<11;r++)
60: answer[q][r]=0;
61:
62: printf("Processing");
63: while(fscanf(inputFile,"%9c",studentnumber)!=EOF)
64: {
65: printf(".");
66: fflush(stdout);
67: fscanf(inputFile,"%32c",name);
68: sprintf(buffmt,"%%%dc",numQuestions);
69: fscanf(inputFile,buffmt,grade.answers);
70: fscanf(inputFile,"%d",&score);
71: fscanf(inputFile,"%d",§ion);
72: buf='\0';
73: while(buf!='\n')
74: {
75: buf=fgetc(inputFile);
76: }
77: #ifdef DEBUG
78: printf("%d %d\n",numQuestions,strlen(grade.answers));
79: #endif /*DEBUG*/
80: for(i=0;i<numQuestions;i++)
81: {
82: switch(questions[i].type)
83: {
84: case 'a':
85: case 'f':
86: case 'g':
87: case 'b':
88: case 'c':
89: case 'e':
90: case 'd':
91: if (isdigit(grade.answers[i]))
92: answer[i][grade.answers[i]-'0']++;
93: else if(isspace(grade.answers[i]))
94: {
95: answer[i][10]++;
96: }
97: break;
98: default:
99: printf("Unknown question type\n");
100: break;
101: }
102: }
103: grade.answers[i]='\0';
104: #ifdef DEBUG
105: printf("%s\n",studentnumber);
106: #endif /*DEBUG*/
107: }
108:
109: sprintf(filename,"survey.%d",setId);
110: outputFile=fopen(filename,"w");
111: if (outputFile==NULL)
112: {
113: fprintf(stderr,"%s not found\n",filename);
114: exit(-1);
115: }
116:
117: fprintf(outputFile,"Survey results for class: %s\n\n",class);
118: for(q=0;q<numQuestions;q++)
119: {
120: fprintf(outputFile,"Question: %d\n",q+1);
121: fprintf(outputFile," 0 1 2 3 4 5 6 7 8 9 S\n");
122: for(r=0;r<11;r++)
123: {
124: fprintf(outputFile,"%3d ",answer[q][r]);
125: }
126: fprintf(outputFile,"\n");
127: }
128: printf("\nProcessing completed. Look in survey.%d for results.\n",
129: setId);
130: return 0;
131: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>