5 ! ENROLL -VERSION 2B 6 ! WRITTEN NOV 16,1972 BY** R A BRANTON 10 ON ERROR GOTO 8000 50 DEF FNA(X)=X-INT(X/10)*10 100 INPUT "KB#";A% 110 OPEN "**STINF.KB"+NUM$(A%) AS FILE 5 : DIM# 5 ,S9%(500,13),N(500),S$(500)=32 130 OPEN "**CLASF.KB"+NUM$(A%) AS FILE 9 : DIM# 9 ,C9%( 2222 ) 200 !***REGULAR FILES*** 210 OPEN "**SCLINF" AS FILE 2 : DIM# 2 ,C$( 2222 )=16 220 OPEN "**STATUS" AS FILE 8 : DIM# 8 ,E9%( 2222 ,2) 230 OPEN "**HASH" AS FILE 7 : DIM# 7 ,H( 2222 ,3),Z%(100,2) 300 DIM P%(12,3),A(10),B(10) 310 Q%=S9%(0,0) 500 !*** BEGIN WORK *** 600 !*****START WORK 610 PRINT : INPUT "ST#";N1 : IF N1=0 THEN 9000 615 PRINT "NAME"; : INPUT LINE N$ 616 ! IF SS# IS REQUIRED ----PATCH HERE 620 INPUT "CMS,M#,A#";N1$,M7%,A7% 625 N$=LEFT(N$,LEN(N$)-2) ! PICK OFF CR LF FROM NAME 630 X=LEN(N$): IF X>20 THEN X=20 640 N$=LEFT(N$,X)+SPACE$(32-X-LEN(N1$))+N1$ 1000 !*** ENROLL *** 1010 PRINT "CLASSES--" 1020 P%(I%,J%)=0% FOR J%=0% TO 3% FOR I%=0% TO 12% 1100 PRINT CHR$(7); : INPUT B$,B1$,H3% 1110 IF B$="END" THEN 3000 1120 IF LEN(B$)<8 THEN B$=LEFT(B$,LEN(B$)-4)+SPACE$(8-LEN(B$))+RIGHT(B$,LEN(B$)-3) 1130 B$=B$+B1$ ! ADD SECTION # 1200 !*** CONVERT CLASS *** 1210 A(I6)=0 FOR I6=0 TO 10 1220 C9=0: C8=0 : CHANGE B$ TO A 1229 FOR I%=1 TO 4 1230 IF A(I%)<>0 AND A(I%)<>32 THEN C9=C9*10+FNA(A(I%)) 1231 NEXT I% 1249 FOR I%=5 TO 10 1250 IF A(I%)<>0 AND A(I%)<>32 THEN C8=C8*10+FNA(A(I%)) 1251 NEXT I% 1270 C6=INT(C9/100) ! 1ST HASH INDEX 1400 FOR I%=Z%(C6,1) TO Z%(C6,2) 1410 IF H(I%,1)C9 THEN 1900 ! TOO FAR ERR0R 1430 IF H(I%,2)<>C8 THEN 1800 ! MAKE SEC CHECK 1440 J%=H(I%,3) !CLASS INDEX 1445 K%=E9%(J%,1) ! CLASS STATUS 1500 IF K%>=5% THEN PRINT "CLOSED-"; : GOTO 1520 1510 IF K%<>1% THEN 1530 1520 INPUT "PERMIS";T$ : IF T$<>"YES" THEN 600 !START AGAIN 1530 P%(0,1)=P%(0,1)+1% : I2%=P%(0,1) :P%(0,2)=P%(0,2)+H3% 1540 P%(I2%,1)=J% : P%(I2%,2)=H3% 1550 IF K%=2% OR K%=7% THEN PRINT "***REQUIRES LAB" 1600 GOTO 1100 1800 NEXT I% 1900 PRINT "NOT IN FILE ****" : GOTO 1100 3000 !*** PRINT SCHED OUT *** 3010 & "*****" : & : & N1;" ";N$ 3020 PRINT : PRINT "COURSES:" 3030 PRINT C$(P%(J%,1) ) FOR J%=1 TO P%(0,1) 3040 & TAB(17);"HOURS=";P%(0%,2%) : & 3100 INPUT "CONFIRM";T$ 3110 IF T$="NO" THEN PRINT "***NOT ENROLLED" : GOTO600 4000 !*** HE IS FOR REAL *** 4010 Q%=S9%(0,0)+1% : IF Q%>=500% THEN PRINT "NO ROOM***" : GOTO 9000 4030 S$(Q%)=N$ : N(Q%)=N1 ! SET NAME AND # 4040 N(Q%)=N1 4100 FOR J%=1 TO P%(0,1) 4110 S9%(Q%,J%+1)=P%(J%,1)*10%+P%(J%,2) 4120 X7%=P%(J%,1) : C9%(X7%)=C9%(X7%)+1% 4130 NEXT J% 4200 S9%(Q%,1)=P%(0,1)+P%(0,2)*100% : S9%(0,0)=Q% : C9%(0)=Q% 4210 S9%(Q%,0)=A7%*100%+M7% !SET ADVISOR #*100+MAJOR# 4500 PRINT "ENROLLED AS #";A%;",";Q% : PRINT : PRINT "******" : PRINTFOR J%=1 TO 4 4520 GOTO 610 8000 PRINT "ERROR--";ERR 8010 RESUME 9000 9000 !*** CLOSE FILES *** 9010 PRINT : PRINT DATE$(0),TIME$(0),A%;",";Q% 9020 CLOSE 2,7,8 9030 CLOSE 5,9 9999 END