100 ! CLSTFR -- TRANSFERS TO AN OUTPUT FILE ! THE RECORDS OF STUDENTS IN A PARTICULAR CLASS. 120 ! 06-SEP-73 J. WARDEN WABASH COLLEGE 140 S5$=SPACE$(5) 160 PRINT "CLASS SELECTION V02" 180 ON ERROR GO TO 880 200 INPUT"CLASS LIST FILE (DEV:FILE)";C5$ 220 OPEN C5$ FOR INPUT AS FILE 1 240 FIELD #1%,127%*R% AS Z$,127% AS A$(R%) FOR R%=0% TO 3% 260 INPUT"SUBJECT FILE (DEV:FILE)";C6$ 280 OPEN C6$ FOR INPUT AS FILE 2 300 FIELD #2%,127%*S% AS Z$,127% AS S$(S%) FOR S%=0% TO 3% 320 INPUT"OUTPUT TO";D9$ 340 OPEN D9$ FOR OUTPUT AS FILE 3 360 FIELD #3%,127%*O% AS Z$, 127% AS O$(O%) FOR O%=0% TO 3% 380 O%=0% 400 PRINT"COURSE"; : INPUT LINE N$ 420 N$=LEFT(N$,6%) : IF LEN(N$)<>6% THEN 400 440 ! SEARCH FOR 1ST SUBJECT 460 IF S%<3% THEN S%=S%+1% ELSE S%=0% : GET #2% 480 IF ASCII(S$(S%))=92% THEN PRINT"NO SUCH COURSE" : GO TO 1040 500 S2$=LEFT(S$(S%),6%) 520 IF S2$=N$ THEN 620 540 GO TO 460 560 PRINT"END OF COURSE FILE" : GO TO 1060 580 IF S%<3% THEN S%=S%+1% ELSE S%=0% : GET #2% 600 IF LEFT(S$(S%),1%)="\" THEN 1040 620 A1$=MID(S$(S%),8%,3%) 640 K%=0% 660 IF R%<3% THEN R%=R%+1% ELSE R%=0% : GET #1% 680 IF LEFT(A$(R%),1%)="\" THEN 920 700 J%=(INSTR(40%,A$(R%)," ")-35%)/7% ! NO. COURSES 720 FOR I%=1% TO J% 740 IF MID(A$(R%),(41%+(I%-1%)*7%),3)=A1$ THEN 800 760 NEXT I% 780 GO TO 660 800 LSET O$(O%)=A$(R%) 820 IF O%<3% THEN O%=O%+1% ELSE O%=0% : PUT #3% 840 K%=K%+1% 860 GO TO 660 880 ! ERRORS COME HERE 900 RESUME 920 920 PRINT K%;" RECORDS TRANSFERRED TO FILE '";D9$;"'" 940 LSET O$(O1%)="\\\\\\"+SPACE$(119%)+CHR$(13)+CHR$(10) FOR O1%=O% TO 3% 960 PUT #3% 980 GO TO 1040 1000 PRINT SYS(CHR$(6%)+CHR$(9%)+CHR$(ERR)) 1020 PRINT"STOPPED AT COURSE ";LEFT(S$(S%),6%) 1040 CLOSE 1%,2%,3% 1060 END