5 ! SCHED - LIST STUDENTS SCHEDULE 10 DIM A9%(50) 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) 180 OPEN "**SCLINF" AS FILE 2 : DIM# 2 ,C$( 2222 )=16 260 DIM A3%(20) 299 !******************************************************* 305 Z6=0 !STUDENT# SWITCH 310 INPUT "WILL YOU BE ENTERING DP#'S";Z$ 320 IF Z$="YES" THEN Z6=1 325 INPUT "WILL YOU BE SEARCHING BY NAME";Z$ : IF Z$="YES" THEN Z6=2 330 INPUT "WHAT OUTPUT DEVICE DO YOU WANT- KB: OR LP:";E$ 340 OPEN E$ AS FILE 12 400 GOSUB 2000 1000 CLOSE 1,2,3,5,6 1002 CLOSE 12 1010 GOTO 9999 2000 IF Z6<2 THEN INPUT "#";V1 2001 IF Z6=2 THEN PRINT "ENTER LAST NAME,FIRST" : INPUT A$,A1$ 2005 IF Z6 =2 THEN IF A$ = "END" THEN RETURN ELSE GO TO 3000 2010 IF V1=0 THEN RETURN ELSE GOSUB 6500 2020 IF V1%=0 THEN 2000 2197 GOSUB 8000 2200 GO TO 2000 3000 !****** NAME SEARCH 3010 A$=A$+" " : A%=ASCII(LEFT(A$,1))-61% : A=LEN(A$) 3020 A%=M%(A%+1%) 3100 !****** SEACH 3110 IF LEFT(S$(A%),A)=A$ THEN 3300 3120 IF LEFT(S$(A%),A)>A$ THEN PRINT "NAME NOT FOUND":GO TO 2000 3130 A%=L%(A%,1) 3140 GO TO 3100 3300 !****** LAST NAME FOUND 3310 A1%=A% :A1=LEN(A1$) 3320 IF MID(S$(A1%),A+1,A1)=A1$ THEN A%=A1% : GOTO 3600 3330 A1%=L%(A1%,1) 3340 IF LEFT(S$(A1%),A)=A$ THEN 3320 3400 !****** FIRST NAME NOT FOUND 3410 PRINT :PRINT "FIRST NAME NOT FOUND" :PRINT 3420 A2%=A% !FIRST ONE 3430 PRINT "THE FOLLOWING PEOPLE HAVE THE LAST NAME: ";A$ 3440 PRINT "ENTER THE NUMBER FOR THE PERSON DESIRED BY NUMBER":PRINT 3445 PRINT 0;TAB(6);"NONE OF THEM" 3450 FOR A4%=1 TO 50 3460 PRINT A4%;TAB(6);LEFT(S$(A%),20) 3470 A9%(A4%)=A%:A%=L%(A%,1) 3480 IF A%=A1% THEN 3500 3490 NEXT A4% 3500 PRINT :INPUT "ENTER #";A5% 3510 IF A5% = 0% THEN 2000 3520 A%=A9%(A5%) 3600 V1%=A% 3605 GOSUB 6500 3610 GO TO 2197 6500 !***SUBROUTINE TO FIND STUDENTS NAME 6510 IF Z6=1 THEN V1%=V1 : GOTO 6560 !HE IS GIVING DP# 6520 IF Z6=2 THEN 6560 6525 FOR Z3%=1 TO M%(2) 6530 IF N(Z3%)=V1 THEN 6550 6535 NEXT Z3% 6540 PRINT "INVAILD STUDENT #" 6545 V1%=0 : GOTO 6570 6550 V1%=Z3% !INDEX FOR STUDENT 6555 PRINT #12, FOR V7=1 TO 5 6560 PRINT #12,V1%;TAB(7);N(V1%);TAB(20);S$(V1%) 6570 RETURN 8000 PRINT #12 : P7%=0: H%=0 : PRINT #12 8005 PRINT #12,"COURSE";TAB(20);"HOURS" 8008 PRINT #12,"------";TAB(20);"-----" 8010 P%=S%(V1%,1)-INT(S%(V1%,1)/100%)*100% 8015 IF P%>8% THEN P7%=P%-8% 8020 IF P%>8% THEN P%=8% 8030 FOR I7%=3% TO P%+2% 8040 Z%=S%(V1%,I7%)/10 :Z1%=S%(V1%,I7%)-Z%*10% 8050 PRINT #12C$(Z%);TAB(20);Z1% : H%=H%+Z1% 8060 NEXT I7% 8070 IF P7%=0 THEN 8130 8080 V7%=S%(V1%,2) !OVERFLOW 8090 FOR I7%=2% TO P7%+1% 8100 Z%=S0%(V7%,I7%)/10 :Z1%=S0%(V7%,I7%)-Z%*10% 8110 PRINT #12,C$(Z%);TAB(20);Z1% : H%=H%+Z1% 8120 NEXT I7% 8130 PRINT #12,TAB(20);"-----" 8140 PRINT #12,"TOTAL HOURS";TAB(20);H% 8150 PRINT #12 : PRINT #12,CHR$(12) 8200 RETURN 9999 END