5 !**** CLIST -CLASS LIST PROGRAM 100 !**************OPEN DISK FILES************************** 110 ! PRESENT FILES DESIGNED FOR 4000 STUDENTS JAN 12, 1972 120 OPEN "**MASTER" AS FILE 1 : DIM# 1 ,M%(100) 130 OPEN "**CLINF" AS FILE 2 : DIM# 2 ,C1$( 2222 )=128 140 OPEN "**STINF" AS FILE 3 : DIM# 3 ,S$( 1111 )=32 150 OPEN "**CLASF" AS FILE 4 : DIM# 4 ,E%( 2222 ,64) 160 OPEN "**STUDF" AS FILE 5 : DIM# 5 ,L%( 1111 ,2),S%( 1111 ,10),N( 1111 ) 170 OPEN "**OVERF" AS FILE 6 : DIM# 6 ,S0%( 33 ,5) 180 OPEN "**STATUS" AS FILE 7 : DIM# 7 ,E9%( 2222 ,2) 210 C$=SPACE$(64) 260 OPEN "**CLASSO" AS FILE 9 : DIM# 9 ,E0%( 44 ,64) 299 !******************************************************* 400 OPEN "LP:" FOR OUTPUT AS FILE 12 405 DIM Y%(180),X%(180),Z%(180) 408 PRINT "ENTER SEMESTER YEAR": INPUT T1$ 1275 !**COMPLETE CLASS LISTS 1280 INPUT "STARTING#,ENDING#";M1%,M2% 1283 IF M1%<0 THEN 9000% 1284 IF M1%=0 THEN I1%=M%(93) ELSE I1%=M1% 1285 FOR I2%=1 TO M%(1)-1 1286 C$=C1$(I1%) 1290 IF E%(I1%,2)>0% THEN GOSUB 1500 1292 IF E%(I1%,2)>0% THEN GOSUB 4000 1294 IF I1%=M2% THEN 1280 1295 I1%=E9%(I1%,2) ! NEXT INDEX 1296 IF I1%<0 THEN 1280 ! FINISHED 1299 NEXT I2% 1300 GOTO 1280 ! START AGAIN 1500 ! 1505 !**SUBROUTINE TO PRINT ONE CLASS LIST 1510 ! 1515 !HOW MANY OVERFLOWS DOES THIS CLASS HAVE 1520 IF E%(I1%,2)=E%(I1%,2)/60%*60% THEN 1530 1525 P%=E%(I1%,2)/60% :GOTO 1535 1530 P%=E%(I1%,2)/60%-1% !P% IS # OF CLASS OVERFLOWS 1535 ! 1540 !BRING IN STDS TO SORT ARRAY 1545 !C1=STD# C2=STD SORT # 1550 K%=E%(I1%,2) !K% IS # OF STD IN CLASS 1551 D0%=K% :K9%=0 1552 IF K%>180% THEN PRINT "CLASS TO LARGE-#";I1%,K% : RETURN 1555 IF P%>0% THEN D0%=60% : K9%=1% 1560 FOR B%=1% TO D0% 1565 C1%=E%(I1%,B%+4) :C2%=L%(C1%,2) 1570 X%(B%)=C1% :Y%(B%)=C2% 1575 NEXT B% 1576 IF K9%=0% THEN 1655 1580 J%=E%(I1%,4) 1590 FOR J1%=1% TO P% 1595 B1%=J1%*60%+1% 1600 IF K%>B1%+59% THEN B2%=B1%+59% ELSE B2%=K% 1610 FOR C%=B1% TO B2% 1615 M1%=C%-(60%*J1%) 1620 C1%=E0%(J%,M1%+4%) : C2%=L%(C1%,2) 1625 X%(C%)=C1% :Y%(C%)=C2% 1630 NEXT C% 1635 J%=E0%(J%,4) 1640 NEXT J1% 1650 ! 1655 !SORT STDS 1665 FOR I%=1% TO K% 1670 G2%=Y%(1) : G1%=1% 1675 FOR H%=2% TO K% 1680 IF Y%(H%)