100 ! MIDSEM -- MID-SEMESTER GRADE REPORT 120 ! 4 FILES ARE REQUIRED: 140 ! (1) SUBJECTS (4 R/B PLUS LINK FILE) 160 ! (2) PROFESSORS [15 R/B NAME FILE: PROF15] 180 ! (3) CLASS LIST FILE [4 R/B] 200 ! (4) BIOGRAPHICAL FILE (2 R/B) 220 ! (6) SPECIAL FORMS ARE REQUIRED 240 ! 01-NOV-73 J. WARDEN WABASH COLLEGE 260 ON ERROR GO TO 2060 280 PRINT"MID-SEM GRADE REPORT (74-75)" 300 D5$=" FALL 74-75" ! PRESERVE SPACING 320 N%=4% : N1%=510%/N% : N6%=3% 340 M%=2% : M1%=510%/M% : M6%=1% 360 S6%=26% 380 Y7$=SPACE$(38%)+"\ \ ##.#" 400 Y6$="\"+SPACE$(21%)+"\ ##.# \ \" 420 DIM G$(9%),P4$(20%),P$(100%) 440 READ G$(I) FOR I=1 TO 9 460 DATA "D ","C-","C ","C+","B-","B ","B+","A-","A " 480 F9%=0% : F7%=0% ! INITIALIZE FLAGS 500 INPUT"SUBJECT FILE";F3$ 520 OPEN F3$ FOR INPUT AS FILE 1% 540 FIELD #1%,N1%*S% AS Z$, N1% AS S$(S%) FOR S%=0% TO N6% 560 OPEN F3$+".IN" FOR INPUT AS FILE 7% 580 DIM#7,S%(600) 600 OPEN"DK0:PROF74" FOR INPUT AS FILE 2% 620 FIELD #2%,34%*P% AS Z$,34% AS P4$(P%) FOR P%=0% TO 14% 640 IF P%<14% THEN P%=P%+1% ELSE P%=0% : GET #2% 660 IF ASCII(P4$(P%))=92% THEN 740 ELSE I%=VAL(MID(P4$(P%),8%,2%)) : P$(I%)=MID(P4$(P%),11%,16%) : GO TO 640 740 CLOSE 2% ! CLOSE PROF FILE 760 INPUT"CLASS LIST FILE (DEV:FILE)";F$ 780 OPEN F$ FOR INPUT AS FILE 3 800 INPUT"OUTPUT TO";O$ : IF LEN(O$)=0% THEN O$="KB:" 820 OPEN O$ FOR OUTPUT AS FILE 4% 840 IF Z$="LP:" THEN INPUT"SET UP LP; HIT [R] WHEN READY";B$ 860 FIELD #3%,127%*A% AS Z$,127% AS A$(A%) FOR A%=0% TO 3% 880 INPUT"BIOGRAPHICAL FILE";C9$ 900 OPEN C9$ FOR INPUT AS FILE 5% 920 FIELD #5%,M1%*D% AS Z$, M1% AS D$(D%) FOR D%=0% TO M6% 940 INPUT"SKIP TO ID";Z2$ 960 IF LEN(Z2$)<>6% THEN 1020 980 IF A%<3% THEN A%=A%+1% ELSE A%=0% : GET #3% 1000 IF Z2$>LEFT(A$(A%),6) THEN 980 1020 IF A%<3% THEN A%=A%+1% ELSE A%=0% : GET #3% 1040 IF LEFT(A$(A%),1%)="\" THEN 2080 1060 U0%=U0%+1% : PRINT U0%; 1080 GOSUB 1820 ! LOOK UP PARENT'S NAME 1100 !COMMENT 1120 PRINT #4,"WABASH COLLEGE"+SPACE$(12%)+"MID-SEMESTER GRADE REPORT" 1140 Y$=MID(A$(A%),7,2) : N$=MID(A$(A%),13,26) ! YR,NAME 1160 PRINT #4,CHR$(10%) 1180 PRINT #4,N$+Y$+" "+P$(VAL(MID(A$(A%),9%,2%)))+D5$ 1200 PRINT#4,D2$ 1220 U%=(INSTR(40%,A$(A%)," ")-35%)/7% 1240 H,H2=0. 1280 PRINT #4%,SPACE$(S6%)+"DPT NO COURSE"+SPACE$(15%)+ "CREDITS GRADE" 1300 PRINT #4%,SPACE$(S6%)+"--- -- ------"+SPACE$(15%)+"-------" +" -----" 1320 FOR I%=1% TO U% 1340 C1$=MID(A$(A%),41%+(I%-1%)*7%,7%) 1360 C%=VAL(LEFT(C1$,3%)) : C%=S%(C%) 1380 S1%=(C%+N6%)/N% : S%=C%-1%-(S1%-1%)*N% 1400 GET #1%,RECORD S1% 1440 G1$=MID(C1$,6%,2%) 1460 ! H=HR ATT H2=HR PASS H4=HR TWD CUM H5=HR TWD GRAD 1480 H3=ASCII(RIGHT(C1$,4%))-48% : IF H3<0. OR H3>4. THEN H3=0. 1500 H3=H3*.5 ! COURSE CREDITS 1520 IF INSTR(1%,"F IN CO W WF WP NC",G1$) THEN 1540 ELSE H2=H2+H3 1540 H=H+H3 1560 PRINT #4,SPACE$(S6%)+MID(S$(S%),85,3)+" "+MID(S$(S%),3,3)+" "; 1580 IF G1$="CO" THEN G1$="CON" 1600 IF G1$="P " THEN G1$="PAS" 1620 IF G1$="IN" THEN G1$="INC" 1640 PRINT #4%,USING Y6$, MID(S$(S%),52%,25%),H3,G1$ 1660 NEXT I% 1700 PRINT#4 1720 PRINT #4%,USING Y7$,"CREDITS ATTEMPTED",H 1740 PRINT #4%,USING Y7$,"CREDITS PASSED",H2 1760 PRINT#4 FOR I2=2 TO 12%-I% 1780 GO TO 1020 1800 ! SUBROUTINE TO FIND PARENT'S NAME 1820 I$=LEFT(A$(A%),6%) ! STUDENT ID CODE 1840 IF F7%>1% THEN 1900 ! CHECK FLAG 1860 IF D%<3% THEN D%=D%+1% ELSE D%=0% : GET #5% 1880 D1$=LEFT(D$(D%),6%) ! PARENT ID CODE 1900 IF I$<>D1$ THEN 1980 1920 D2$=MID(D$(D%),126%,28%) 1940 F7%=0% ! SET FLAG TO READ ANOTHER PARENT 1960 RETURN 1980 IF D1$11% THEN ON ERROR GO TO 0 2080 PRINT#4,CHR$(26) 2100 CLOSE 1,2,3,4,5,6,7 2120 END