5 !*** STOC -BUILD CLASS FILE FROM STUDENT FILE 100 !**************OPEN DISK FILES************************** 120 OPEN "**MASTER" AS FILE 1 : DIM# 1 ,M%(100) 130 OPEN "**HOURS" AS FILE 2 : DIM# 2 ,H7%( 2222 ) 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) 210 OPEN "**ESTAT" AS FILE 8 : DIM# 8 ,E8%( 2222 ,2) 260 OPEN "**CLASSO" AS FILE 7 : DIM# 7 ,E0%( 44 ,64) 270 OPEN "**PRESTS" AS FILE 10 : DIM# 10 ,E6%( 2222 ,2) 299 !******************************************************* 300 PRINT M%(1),M%(2) 310 INPUT "DO YOU WISH TO INITIALIZE CLASS FILE";A$ 320 IF A$<>"YES" THEN 390 330 M%(95%)=0% ! RESET OVERFLOW COUNT 336 FOR I=1 TO 25 337 E0%(I,J)=0% FOR J=1 TO 64 338 NEXT I 340 FOR I=1 TO M%(1) 350 E%(I,J%)=0% FOR J%=1 TO 64 370 E%(I,1)=E8%(I,1) ! SET MAXIMUM STUDENT # 380 E%(I,3)=H7%(I) ! SET HOURS 385 NEXT I 386 E6%(I%,J%)=0% FOR J%=1 TO 2 FOR I%=0% TO M%(1) 387 E6%(0,0)=0 : E6%(0,1)=M%(2) 390 PRINT : INPUT "STARTING STUDENT DP#,ENDING STUDENT DP#";X1%,X2% 399 !ADD STUDENT FILE RECORDS TO CLASS FILE 400 FOR J%=X1% TO X2% 410 H%=S%(J%,1)/100% : P%=S%(J%,1)-H%*100% 412 P1%=P% 415 IF P%>8% THEN P%=8 !OVERFLOW STUDENT 420 FOR K%=3% TO P%+2% 430 V2%=S%(J%,K%)/10% !CLASS NUMBER 440 GOSUB 750 !INSERT IN CLASS FILE 450 NEXT K% 460 X%=J%/250% : IF J%=X%*250% THEN PRINT J%,TIME$(0) 470 IF P1%<9 THEN 590 480 !***HANDLE OVERFLOW STUDENT 490 Q%=S%(J%,2) : P1%=P1%-8%+1% 500 FOR P2%=2% TO P1% 510 V2%=S0%(Q%,P2%)/10% 520 GOSUB 750 ! INSERT IN CLASS FILE 530 NEXT P2% 590 NEXT J% 595 E6%(I%,2)=E%(I%,2) FOR I%=1% TO M%(1) 600 CLOSE 1,2,3,4,5,6 601 CLOSE 7 602 CLOSE 10 610 GOTO 9999 750 !****ADD STUDENT TO CLASS FILE***** 760 N%=E%(V2%,2)+1% 770 IF N%<=60% THEN 810 780 !OVERFLOW COURSE 790 GOSUB 1000 !PUT IN OVERFLOW 800 RETURN 810 !NORMAL CLASS 820 E%(V2%,N%+4%)=J% :E%(V2%,2)=N% 830 RETURN 1000 !****HANDLE OVERFLOW CLASSES**** 1005 IF N%>180% THEN PRINT J%,V2%; "NO ROOM" :RETURN 1010 N1%=N%-60% 1020 IF N1%>1% THEN 1045 1030 V9%=M%(95)+1% : M%(95)=V9% 1040 E%(V2%,4)=V9% : E0%(V9%,1%)=V2% 1045 V9%=E%(V2%,4) ! GET FIRST OVERFLOW 1050 IF N1%<61% THEN 1100 ! NOT SECOND OVERF 1060 N1%=N1%-60% 1065 IF N1%<>1% THEN V9%=E0%(V9%,4) : GOTO 1100 1070 V8%=V9% : V9%=M%(95)+1% : M%(95)=V9% 1080 E0%(V8%,4)=V9% : E0%(V9%,1)=V8% 1100 E%(V2%,2)=N% 1110 E0%(V9%,N1%+4%)=J% 1120 RETURN 9999 END