5 ! RECADD- ADD STUDENTS TO A CLASS AND RECORD THEIR GRADE 100 !**************OPEN DISK FILES************************** 110 ! PRESENT FILES DESIGNED FOR 4000 STUDENTS JAN 12, 1972 120 OPEN "**MASTER" AS FILE 1 : DIM# 1 ,M%(100) 140 OPEN "**STINF" AS FILE 3 : DIM# 3 ,S$( 1111 )=32 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) 260 OPEN "**GRADES" AS FILE 10 : DIM# 10 ,G%( 1111 ,10),G0%( 33 ,5),C%( 2222 ) 299 !******************************************************* 305 Z6=0 !STUDENT# SWITCH 310 INPUT "WILL YOU BE ENTERING DP#'S";Z$ 320 IF Z$="YES" THEN Z6=1 630 GOSUB 3000 1000 GOTO 9000 3000 PRINT "ENTER ST#,CLASS#,HOURS,GRADE" 3010 INPUT V1%,V2%,V3%,V$ 3020 IF V1%=0% THEN RETURN ELSE GOSUB 6500% 3025 IF V3%<0% OR V3%>9% GOTO 3000 3030 IF V1%<0% OR V1%>M%(2) GOTO 3000 3040 IF V2%<0 OR V2%>1000 THEN 3000 ! NOT VALID CLASS 3050 H%=S%(V1%,1)/100% : P%=S%(V1%,1)-H%*100% 3060 IF P%<8% THEN 3080 3065 GOSUB 6000 3070 GOTO 3010% 3080 !*****ADD TO STUDENT FILE 3090 S%(V1%,P%+3%)=V2%*10%+V3% 3100 S%(V1%,1)=(H%+V3%)*100%+P%+1% 3105 GOSUB 7000 ! GOT O GRADE RECORDING ROUTINE 3106 G%(V1%,P%+1%)=G1% ! RECORD CLASS 3110 !******* 3140 GOTO 3010 6000 !****OVERFLOW STUDENT 6020 Q%=M%(96) 6030 IF P%>8% AND S%(V1%,2)=0% THEN P%=8% 6040 P%=P%+1% 6050 IF P%>12% THEN PRINT "12 CLASSES ALREADY" :RETURN 6060 IF P%>9% GOTO 6100 6070 IF M%(96%)>=M%(98%) THEN & "NO MORE OVERFLOWS" : RETURN 6080 S%(V1%,2)=Q% :M%(96)=M%(96)+1% :S0%(Q%,1)=V1% 6100 Q2%=S%(V1%,2) :Q3%=P%-8%+1% 6110 S0%(Q2%,Q3%)=V2%*10%+V3% 6120 GOSUB 7000% 6130 G0%(Q2%,Q3%)=G1% 6150 RETURN 6500 !***SUBROUTINE TO FIND STUDENTS NAME 6510 IF Z6=1 THEN V1%=V1 : GOTO 6560 !HE IS GIVING DP# 6520 !**HANDLE STUDENT # 6525 FOR Z3%=1 TO M%(2) 6530 IF N(Z3%)=V1 THEN 6550 6535 NEXT Z3% 6540 Z3%=0 : S$(0)="INVALID STUDENT# 6550 V1%=Z3% !INDEX FOR STUDENT 6560 PRINT "WORKING ON-"; LEFT (S$(V1%),20);"OK"; 6565 INPUT Z$ 6570 RETURN 7000 !***GRADE RECORDING SUBROUTINE 7010 G1$="ABCDFPWWIHNE" 7020 G2$=MID(V$,1,1) : G9=LEN(V$) 7030 IF G9>1 AND MID(V$,2,1)<>"F" GOTO 7070 7040 G1%=INSTR(1,G1$,G2$) 7050 IF G1%<>0% THEN 7100 7070 INPUT "INVALID GRADE RE-ENTER****";V$ : GOTO 7020 7100 IF X>1 THEN G1%=8 ! WF 7120 RETURN 9000 !**** STOP WORKING SO HARD 9004 CLOSE 1,2,3,4,5,6,10 9999 END