1 REM **** HP BASIC PROGRAM LIBRARY ******************************* 2 REM 3 REM REG: COLLEGE REGISTRATION DEMO 4 REM 5 REM 36282 REV A PART 6 OF 10 6/73 6 REM 7 REM **** CONTRIBUTED PROGRAM ************************************ 8 M9=17 9 FILES STUDNT,COURSE,WORK,STUDNT,COURSE 10 REM ACTUAL REGESTRATION 20 DIM A$[12],B$[20],C$[20],D$[1],E$[12],F$[1] 30 DIM G$[30],H$[8],I$[30] 35 DIM J$[10],K$[2],L$[2],M$[2],N$[10],O$[2] 36 DIM P$[20],Q$[20],R$[20],S$[12],T$[2],U$[2] 40 PRINT "RESPOND WITH ANSWER OR END" 50 PRINT 60 PRINT 61 PRINT 62 PRINT "STUDENT # ?"; 70 INPUT A$ 75 IF A$="END" THEN 8510 80 X$=A$ 90 GOSUB 9000 100 IF X#0 THEN 500 110 X$=" " 120 GOSUB 9000 130 IF X=0 THEN 8600 140 PRINT "LAST NAME?"; 150 INPUT B$ 160 PRINT "FIRST NAME?"; 170 INPUT C$ 180 PRINT "MIDDLE INITIAL?"; 190 INPUT D$ 200 PRINT "PHONE?"; 210 INPUT E$ 220 PRINT "SEX?"; 230 INPUT F$ 240 PRINT "CITY?"; 250 INPUT G$ 260 PRINT "STATE?"; 265 INPUT H$ 270 PRINT "STREET ADDRESS?"; 280 INPUT I$ 300 PRINT #1;A$,B$,C$,D$,E$,F$,G$,H$,I$, END 500 REM NAME,ADD ,ETC ARE NOW STORED AWAY 502 REM A$=STUD # & X=SECTOR 510 READ #1,X+2 520 READ #1;N1 530 PRINT #3,1; END 540 C1=0 550 IF N1=0 THEN 800 560 FOR I=1 TO N1 570 READ #1;Z$,K$,L$,M$,N2 580 GOSUB 9200 590 IF Z=0 THEN 8500 600 READ #2;Z$,N3,N4 610 IF N2#N3 THEN 8500 620 IF N4=0 THEN 8500 630 J=Z+1 640 FOR K=1 TO N4 650 READ #2,J;O$,P$,Q$ 660 IF K$=O$ THEN 700 670 J=J+2 680 NEXT K 690 GOTO 8500 700 C1=C1+N2 710 PRINT #3;Z$,Q$, END 720 NEXT I 800 PRINT 801 PRINT "COURSE-SECTION" 802 INPUT G$ 805 IF G$="END" THEN 7000 820 FOR I=1 TO 13 830 IF G$[I,I]="-" THEN 900 840 NEXT I 850 PRINT "ERROR" 860 GOTO 800 900 J$=G$[1,I-1] 910 K$=G$[I+1] 920 Z$=J$ 930 GOSUB 9200 940 REM Z$=COURSE K$=SECTION Z=SECTOR 950 IF Z=0 THEN 8000 960 IF END #3 THEN 1010 970 READ #3,1 980 READ #3;N$,Q$ 990 IF N$=Z$ THEN 8100 1000 GOTO 980 1010 READ #2;N$,N3,N4 1020 IF C1+N3>M9 THEN 8200 1030 K1=Z+1 1040 IF N4=0 THEN 8200 1050 FOR I=1 TO N4 1060 READ #2,K1 1070 READ #2;O$,P$,Q$,R$,N5,N6 1080 IF O$=K$ THEN 1130 1090 K1=K1+2 1100 NEXT I 1110 GOTO 8000 1120 REM 1130 IF N5=N6 THEN 8300 1140 IF END #3 THEN 1250 1150 READ #3,1 1160 READ #3;N$,B$ 1170 IF LEN(B$)=0 THEN 8500 1180 FOR I=1 TO LEN(B$) STEP 2 1190 FOR J=1 TO LEN(Q$) STEP 2 1200 IF Q$[J,J+1]=B$[I,I+1] THEN 8400 1210 NEXT J 1220 NEXT I 1230 GOTO 1160 1240 REM ALL OK NOW TO REG IN COURSE 1250 PRINT #3;Z$,Q$, END 1260 N6=N6+1 1270 C1=C1+N3 1280 READ #5,K1 1290 PRINT #5;O$,P$,Q$,R$,N5,N6 1300 IF N6-1=0 THEN 1350 1310 FOR I=1 TO N6-1 1320 READ #2;S$,T$,U$ 1330 PRINT #5;S$,T$,U$ 1340 NEXT I 1350 PRINT #5;A$," "," ", END 1351 READ #5,1 1352 READ #2,1 1400 IF END #1 THEN 1500 1410 READ #1,X+2;N1 1420 N1=N1+1 1430 PRINT #4,X+2;N1 1440 IF N1-1=0 THEN 1500 1450 FOR I=1 TO N1-1 1460 READ #1;J$,K$,L$,M$,N2 1470 PRINT #4;J$,K$,L$,M$,N2 1480 NEXT I 1500 PRINT #4;Z$,O$," "," ",N3, END 1501 READ #4,1 1502 READ #1,1 1600 PRINT "CREDITS ENTERED SOFAR= ";C1 1610 GOTO 800 7000 READ #1,X;A$,B$,C$,D$ 7010 PRINT 7011 PRINT 7012 PRINT 7020 PRINT A$;" ";B$;" ";C$;" ";D$ 7030 PRINT 7040 READ #1,X+2;N1 7050 IF N1=0 THEN 7170 7052 PRINT "COURSE";TAB(13);"SEC";TAB(18);"CRDS";TAB(24); 7053 PRINT "INSTRUCTOR";TAB(47);"TIME" 7054 PRINT 7060 C1=0 7070 FOR I=1 TO N1 7080 READ #1;Z$,K$,L$,M$,N2 7090 GOSUB 9200 7100 IF Z=0 THEN 8500 7110 READ #2;N$,N3,N4 7112 K4=Z+1 7114 FOR J=1 TO N4 7115 READ #2,K4;O$,P$,Q$,R$ 7116 IF O$=K$ THEN 7130 7117 K4=K4+2 7118 NEXT J 7130 PRINT N$;TAB(13);O$;TAB(18);N3;TAB(24);R$;TAB(47);P$ 7140 C1=C1+N3 7150 NEXT I 7160 PRINT 7170 PRINT "TOTAL CREDITS= ";C1 7171 PRINT 7172 PRINT 7180 GOTO 60 8000 PRINT "COURSE OR SECTION NON EXISTENT" 8010 GOTO 800 8100 PRINT "ALREADY HAVE ";Z$ 8110 GOTO 800 8200 IF C1=M9 THEN 8230 8210 PRINT "TOO MANY CREDITS" 8220 GOTO 800 8230 PRINT "AT MAX CREDITS NOW" 8240 GOTO 7000 8300 PRINT "SECTION FULL" 8310 REM COULD PRINT AVAILABLE 8320 GOTO 800 8400 PRINT "TIME CONFLICT WITH ";N$ 8410 GOTO 800 8500 PRINT "TROUBLE" 8510 STOP 8600 PRINT "NO ROOM FOR STUDENT" 8610 STOP 9000 REM GET STUDENT OR COURSE FILE. 9030 DIM W$[20],X$[12],Y$[20],Z$[10] 9031 IF END #1 THEN 9038 9032 X1=1 9033 FOR X2=1 TO 32 9034 READ #1,X1;W$ 9035 IF W$=X$ THEN 9040 9036 X1=X1+4 9037 NEXT X2 9038 X=0 9039 RETURN 9040 READ #1,X1 9045 X=X1 9046 RETURN 9200 IF END #2 THEN 9207 9201 X1=1 9202 FOR X2=1 TO 9 9203 READ #2,X1;W$ 9204 IF W$=Z$ THEN 9209 9205 X1=X1+13 9206 NEXT X2 9207 Z=0 9208 RETURN 9209 READ #2,X1 9210 Z=X1 9211 RETURN 9212 END