100 ! CLDIST -- DISTRIBUTION OF CLASS SIZES 110 ! CLASS FILE & SUBJECT FILE 130 PRINT"CLASS SIZE DISTRIBUTION" : PRINT 135 T9$=SPACE$(63%)+"####### *" 140 T%=0% : T9%=0% ! STU REG, STU NOT REG 150 A3$="AA" 160 S5$=SPACE$(3) 190 Q%=0% 210 IF Q%>1% THEN 180 220 DIM C%(600), D%(250) 230 C%(I%)=0% FOR I%=0% TO 500% 240 ON ERROR GO TO 770 250 IF Q%>0% THEN 290 260 INPUT"CLASS LIST FILE (DEV:FILE)";F2$ 270 OPEN F2$ FOR INPUT AS FILE 1 280 FIELD #1%,127%*S% AS Z$,127% AS S$(S%) FOR S%=0% TO 3% 290 INPUT"SUBJECT FILE (DEV:FILE)";S4$ 300 OPEN S4$ FOR INPUT AS FILE 2% 310 FIELD #2%,127%*R% AS Z$,127% AS A$(R%) FOR R%=0% TO 3% 320 input"OUTPUT FILE";D9$ 330 open D9$ for output as file 3 340 IF Q%=0% THEN 580 350 GOSUB 690 360 ! MAIN LOOP 370 ! XX 400 IF R%<3% THEN R%=R%+1% ELSE R%=0% : GET #2% 410 IF LEFT(A$(R%),1%)="\" THEN 540 420 A2$=LEFT(A$(R%),6%) 425 A4$=MID(A$(R%),8%,3%) 430 IF A3$=LEFT(A2$,2%) THEN 440 432 ! PRINT SUBTOTAL 436 M%=M%+1% 438 C2%=0% 440 A3$=LEFT(A2$,2%) 470 A1$=MID(A$(R%),8,3) 490 M%=M%+1% 510 IF Q%=1% THEN 530 515 L%=VAL(A1$) 520 D%(C%(L%))=D%(C%(L%))+1% 525 C2%=C2%+C%(L%) 530 GO TO 370 535 ! PRINT FINAL COUNT 540 IF Q%=1% THEN 800 542 FOR I%=1% TO 250% 544 IF D%(I%)=0% THEN 548 545 D0%=D0%+I%*D%(I%) 546 PRINT #3%, USING" #### ###### ###### ######", I%,D%(I%),I%*D%(I%),D0% 548 NEXT I% 550 PRINT#3 FOR J%=1% TO 3% 555 R9$=" #### \"+SPACE$(30%)+"\" 560 PRINT #3%,USING R9$,T%,"REGISTERED" 565 PRINT #3%,USING R9$,T0%,"OFF CAMPUS" 570 PRINT #3%,USING R9$,T9%,"NOT REGISTERED" 572 PRINT #3%,USING R9$,T%+T9%+T0%,"TOTAL STUDENTS IN FILE" 575 GO TO 800 579 ! COUNTING ROUTINE 580 IF S%<3% THEN S%=S%+1% ELSE S%=0% : GET #1% 590 IF LEFT(S$(S%),1%)="\" THEN 350 600 J%=(INSTR(40%,S$(S%)," ")-35%)/7% ! NO. COURSES 610 IF J% THEN 620 612 IF MID(S$(S%),123%,1%)=" " THEN T9%=T9%+1% ELSE T0%=T0%+1% 614 GO TO 580 620 FOR I%=1% TO J% 630 K%=41%+(I%-1%)*7% 640 L%=VAL(MID(S$(S%),K%,3)) 650 C%(L%)=C%(L%)+1% 660 NEXT I% 665 T%=T%+1% 670 GO TO 580 680 ! PRINTING SUBROUTINE 690 PRINT#3 FOR Z3=1 TO 2 700 PRINT#3,S5$+"COURSES OFFERED WABASH COLLEGE "+DATE$(0) 710 PRINT#3%,CHR$(10%) 720 PRINT #3%,"SEMESTER: ";F2$;CHR$(10%) 730 PRINT #3%," SIZE FREQ TOTAL POP OF THIS SIZE" 740 PRINT#3:PRINT#3 750 M%=0% 760 RETURN 770 IF ERR<>11% THEN ON ERROR GO TO 0 780 GOSUB 690 790 GO TO 360 800 print#3,chr$(26%) 810 close 1,2,3 820 END