100 ! CLCNTC -- CLASS COUNT FOR NEW CURRICULUM 120 ! USES SUBJECT FILE AND CLASS LIST FILE 140 ! 29-AUG-73 J. WARDEN WABASH COLLEGE 160 PRINT"CLASS COUNT V03B" 180 T9$=SPACE$(58%)+"###### ######.# *" 200 T7$=" DIVISION ##"+SPACE$(44%)+"###### ######.#" 220 T8$=" TOTAL "+SPACE$(44%)+"###### ######.#" 240 T%=0% : T9%=0% ! STU REG, STU NOT REG 260 A3$="AA" 280 H0$(1%)="0.5" : H0$(2%)="1.0" : H0$(3%)="1.5" : H0$(0%)=" " 300 C$(1%)="BICHCSMAPHPI" 320 C$(2%)="AARCLCOENFEFRGEGRHUITLAMUPFRERUSNSPTH" 340 C$(3%)="ACPYECCEDHIPS" 360 INPUT" WANT A LIST OR A COUNT (L/C)";L$ 380 Q%=ASCII(L$)-67% : IF Q%*(Q%-9%) THEN 360 420 DIM C%(600),C2%(600) 440 C%(I%),C2%(I%)=0% FOR I%=0% TO 500% 460 ON ERROR GO TO 2140 480 IF Q% THEN 580 500 INPUT"CLASS LIST FILE (DEV:FILE)";F2$ 520 OPEN F2$ FOR INPUT AS FILE 1% 560 FIELD #1%,127%*S% AS Z$,127% AS S$(S%) FOR S%=0% TO 3% 580 INPUT"SUBJECT FILE (DEV:FILE)";S4$ 585 OPEN S4$ FOR INPUT AS FILE 2% 590 IF INSTR(1%,S4$,":") THEN S4$=RIGHT(S4$,INSTR(1%,S4$,":")+1%) 600 F2$=MID(S4$,4%,1%) : IF F2$="F" THEN F2$="FALL 19"+RIGHT(S4$,5%) ELSE IF F2$="S" THEN F2$="SPRING 19"+RIGHT(S4$,5%) ELSE F2$="19"+RIGHT(S4$,5%) 620 FIELD #2%,127%*R% AS Z$,127% AS A$(R%) FOR R%=0% TO 3% 640 INPUT"OUTPUT TO (DEV:FILE)";O$ : IF O$="" THEN O$="KB:" 660 OPEN O$ FOR OUTPUT AS FILE 3% 680 IF Q%=0% THEN 1640 700 GOSUB 1960 720 ! MAIN LOOP 740 IF M%<=50% THEN 800 760 PRINT#3,CHR$(12) 780 GOSUB 1960 800 IF R%<3% THEN R%=R%+1% ELSE R%=0% : GET #2% 820 IF LEFT(A$(R%),1%)="\" THEN GOSUB 1250 : GO TO 1400 840 A2$=LEFT(A$(R%),6%) 860 A4$=MID(A$(R%),8%,3%) 880 IF A3$=LEFT(A2$,2%) THEN 1020 900 IF Q%=0% THEN GOSUB 1250 960 PRINT #3 980 M%=M%+1% 1000 C2%,C4%=0% 1020 A3$=LEFT(A2$,2%) : IF A3$="XX" THEN 800 1040 T$=MID(A$(R%),36,12)+" "+MID(A$(R%),3,3)+" "+MID(A$(R%),6,1)+" "+MID(A$(R%),12,2) 1060 D$=MID(A$(R%),16,3) : IF D$="ARR" THEN D1$=" " ELSE D1$=":" 1070 H%=ASCII(MID(A$(R%),19%,1%))-48% : IF H%<0% OR H%>3% THEN H%=0% 1080 T$=T$+D1$+MID(A$(R%),14%,2%)+" "+D$+" "+H0$(H%)+" " 1120 A1$=MID(A$(R%),8,3) 1140 M%=M%+1% 1160 PRINT #3%,A2$+" "+A4$+" "+T$;MID(A$(R%),20%,9%); 1180 IF Q% THEN PRINT #3%," ";MID(A$(R%),52%,20%) : GO TO 740 1200 L%=VAL(A1$) 1210 C2=C2%(L%) : C2=C2/2. 1220 PRINT #3%,USING"###### ######.#",C%(L%),C2 1240 C2%=C2%+C%(L%) : C4%=C4%+C2%(L%) 1245 GO TO 740 1250 ! COMPUTE DIVISIONAL SUBTOTALS 1251 IF Q% THEN RETURN 1252 C4=C4% : PRINT #3%,USING T9$,C2%,C4/2. : M%=M%+1% 1260 FOR J%=1% TO 3% 1280 IF INSTR(1%,C$(J%),A3$) THEN 1320 1300 NEXT J% : J%=0% 1320 D2(J%)=D2(J%)+C2% : D4(J%)=D4(J%)+C4% 1340 D2(4%)=D2(4%)+C2% : D4(4%)=D4(4%)+C4% 1360 RETURN 1380 ! PRINT FINAL COUNT 1400 IF Q% THEN 2180 ELSE PRINT #3%,CHR$(10%)+CHR$(10%) 1420 PRINT #3%,USING T7$,J%,D2(J%),D4(J%)/2. FOR J%=0% TO 3% 1440 PRINT #3% 1460 PRINT #3%,USING T8$,D2(4%),D4(4%)/2. 1480 PRINT #3%, CHR$(10%) 1500 R9$=" #### \"+SPACE$(30%)+"\" 1520 PRINT #3%,USING R9$,T%,"REGISTERED" 1540 PRINT #3%,USING R9$,T0%,"OFF CAMPUS" 1560 PRINT #3%,USING R9$,T9%,"NOT REGISTERED" 1580 PRINT #3%,USING R9$,T%+T9%+T0%,"TOTAL STUDENTS IN FILE" 1600 GO TO 2180 1620 ! COUNTING ROUTINE 1640 IF S%<3% THEN S%=S%+1% ELSE S%=0% : GET #1% 1660 IF LEFT(S$(S%),1%)="\" THEN 700 1680 J%=(INSTR(40%,S$(S%)," ")-35%)/7% ! NO. COURSES 1700 IF J% THEN 1760 1720 IF MID(S$(S%),123%,1%)=" " THEN T9%=T9%+1% ELSE T0%=T0%+1% 1740 GO TO 1640 1760 FOR I%=1% TO J% 1780 K%=41%+(I%-1%)*7% 1800 L%=VAL(MID(S$(S%),K%,3)) 1820 H%=ASCII(RIGHT(S$(S%),K%+3%))-48% : IF H%<0% OR H%>8% THEN H%=0% 1840 C%(L%)=C%(L%)+1% 1860 C2%(L%)=C2%(L%)+H% ! COUNT STU SEM HRS 1880 NEXT I% 1900 T%=T%+1% 1920 GO TO 1640 1940 ! PRINTING SUBROUTINE 1960 PRINT #3% 1970 P0%=P0%+1% 1980 PRINT #3%,"COURSES OFFERED (";F2$;") WABASH COLLEGE"; " ";DATE$(0%);" PAGE";P0% 2000 PRINT#3%,CHR$(10%) 2020 PRINT #3%, "CODE R## DEPARTMENT NO SEC TIME DAY CC "; 2040 IF Q% THEN PRINT #3%," INSTRUCTR ------TITLE------" ELSE PRINT #3%," INSTRUCTOR CNT STU-CC" 2080 PRINT #3%,CHR$(10%) 2100 M%=0% 2120 RETURN 2140 IF ERR<>11% THEN ON ERROR GO TO 0 2160 GOSUB 1960 : GO TO 720 2180 print#3,chr$(26%) 2200 CLOSE 1%,2%,3% 2220 END