100 ! GRAD49 -- SEMESTER GRADE REPORT: ! BOTH 4 AND 9 POINT SYSTEMS. ! SIX FILES ARE REQUIRED -- 120 ! (1) SUBJECT FILE (4 R/B) ! (2) SUBJECT CODE INDEX FILE (SET UP BY 'SUBIN') 140 ! (3) PROFESSOR NAMES (15 R/B) ! (4) CLASS LIST FILE (CONTAINING GRADES) 160 ! (5) BIOGRAPHICAL FILE (2 R/B) ! (6) PREV SEM GPA FILE (4 R/B) 180 ! BOTH 4 AND 9 POINT GRADES ARE COMPUTED FOR ! CLASSES OF 74,75,76; 9 PT ONLY FOR 77. 200 ! ==> SPECIAL GRADE REPORT FORMS ARE REQUIRED. ! 02-JAN-74 J. WARDEN WABASH COLLEGE 220 PRINT"SEMESTER GRADES -- 4 & 9 POINT SYSTEM" : PRINT 240 READ F3$,F$,F0$,F4$ 260 DATA "DK0:SUBS74","DK3:GPAF73","DK0:CLS74","DK0:CSB73" 280 PRINT"STANDARD FILES: ";F3$;" ";F$;" ";F0$;" ";F4$ 300 INPUT"CORRECT (Y/N)";G1$ : IF ASCII(G1$)<>89% THEN F3$,F$,F0$,F4$="" 320 DEF FNC(X%)=CVT$F(MID(B$(B%),X%,4%)) 340 N%=4% : N6%=3% : N1%=510%/N% 360 J0=32./120. : ON ERROR GO TO 2400 380 D5$=" SPRING 73-74" 390 D6$=" 9 / 4" 400 S9$="POINT SYSTEM: ##.# ##.# ####.# ##.### ###.# ###.# ##.###" 420 S4$=SPACE$(9%)+"FOUR "+S9$ 440 S9$=SPACE$(9%)+"NINE "+S9$ 460 DIM G$(9%),P4$(20%),P$(100%) 480 READ G$(I%) FOR I%=1% TO 9% 500 DATA "D ","C-","C ","C+","B-","B ","B+","A-","A " 520 READ G4%(I%) FOR I%=0% TO 9% 540 DATA 0,1,2,2,2,3,3,3,4,4 560 F9%=0% : F7%=0% ! INITIALIZE FLAGS 580 IF LEN(F3$)=0% THEN INPUT"SUBJECT FILE";F3$ 600 OPEN F3$ FOR INPUT AS FILE 1% 620 FIELD #1%, 127%*S% AS Z$, 127% AS S$(S%) FOR S%=0% TO 3% 640 OPEN F3$+".IN" FOR INPUT AS FILE 7% 660 DIM #7%,S%(400) 670 P1$="DK0:PROF15" 680 IF P1$="" THEN INPUT"PROF FILE";P1$ 690 OPEN P1$ FOR INPUT AS FILE 2% 700 FIELD #2%,34%*P% AS Z$,34% AS P4$(P%) FOR P%=0% TO 14% 720 IF P%<14% THEN P%=P%+1% ELSE P%=0% : GET #2% 740 IF ASCII(P4$(P%))=92% THEN 760 ELSE I%=VAL(MID(P4$(P%),8%,2%)) : P$(I%)=MID(P4$(P%),11%,16%) : GO TO 720 ! PROF ##, NAME 760 CLOSE 2% ! CLOSE PROF FILE 780 IF LEN(F$)=0% THEN INPUT"GPA FILE";F$ 800 OPEN F$ FOR INPUT AS FILE 6% 820 FIELD #6%,127%*B% AS Z$, 127% AS B$(B%) FOR B%=0% TO 3% 840 IF LEN(F0$)=0% THEN INPUT"CLASS LIST FILE";F0$ 860 OPEN F0$ FOR INPUT AS FILE 3% 880 FIELD #3%,127%*A% AS Z$,127% AS A$(A%) FOR A%=0% TO 3% 900 IF LEN(F4$)=0% THEN INPUT"CSB FILE";F4$ 920 OPEN F4$ FOR INPUT AS FILE 5% 940 FIELD #5%,255%*D% AS Z$, 255% AS D$(D%) FOR D%=0% TO 1% 960 INPUT"OUTPUT TO (DEV:FILE)";Z$ : IF Z$="" THEN Z$="LP:" 980 OPEN Z$ FOR OUTPUT AS FILE 4% 1000 PRINT"SET UP PRINTER:" 1020 INPUT"READY";G1$ : IF ASCII(G1$)=89% THEN 1040 ELSE PRINT #4% : GO TO 1020 1040 INPUT"-> SKIP TO ID";Z2$ : IF LEN(Z2$)<>6% THEN 1100 1060 IF A%<3% THEN A%=A%+1% ELSE A%=0% : GET #3% 1080 IF Z2$>LEFT(A$(A%),6%) THEN 1060 1100 IF A%<3% THEN A%=A%+1% ELSE A%=0% : GET #3% 1120 IF ASCII(A$(A%))=92% THEN 2520 ELSE I$=LEFT(A$(A%),6%) 1130 C0$=MID(A$(A%),7%,2%) 1140 U0%=U0%+1% : PRINT "*"; 1160 GOSUB 2080 ! LOOK UP PARENT'S NAME 1180 GOSUB 2200 ! LOOK UP PREV SEM GPA 1200 PRINT #4,CHR$(10%) 1220 PRINT #4%,MID(A$(A%),13%,26%)+C0$+" "; P$(VAL(MID(A$(A%),9%,2%)));D5$; 1225 IF C0$>="77" THEN PRINT #4% ELSE PRINT #4%,D6$ 1240 PRINT #4%, D2$ 1260 U%=(INSTR(40%,A$(A%)," ")-35%)/7% 1280 Q,Q0,H,H2,H4,H5 = 0. 1300 IF U%=0% THEN I%=0% : GO TO 1820 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% : GET #1%, RECORD S1% 1400 G1$=MID(C1$,6%,2%) 1420 FOR J%=1% TO 9% 1440 IF G1$=G$(J%) THEN 1500 1460 NEXT J% 1480 J%=0% ! IF GRADE NOT FOUND QP=0 1500 H3=VAL(MID(C1$,4%,1%))/2. 1520 G9=J% : G4=G4%(J%) : Q1=G9*H3 : Q2=G4*H3 1540 IF LEFT(S$(S%),2%)<>"PE" THEN 1600 1560 IF J%+INSTR(1%,"P S CR",G1$) THEN H2=H2+H3 ! CREDITS PASSED 1580 Q1,Q2=0. : GO TO 1640 ! FOR PE, NO QP 1600 IF J%+INSTR(1%,"P S CR",G1$) THEN H2=H2+H3 : IF G1$<>"CR" AND G1$<>"S " THEN H5=H5+H3 : Q=Q+Q1 : Q0=Q0+Q2 ! CR TWD GRD QP9 QP4 1620 IF J%+INSTR(1%,"COF WF",G1$) THEN H4=H4+H3 ! CRED TWD CUM 1640 H=H+H3 ! CRED ATTEMPTED 1660 S6%=26% 1680 PRINT #4%,SPACE$(S6%)+MID(S$(S%),85%,3%)+" "+MID(S$(S%),3%,3%)+" "; 1700 IF G1$="CO" THEN G1$="CON" 1720 IF G1$="P " THEN G1$="PAS" 1740 IF G1$="IN" THEN G1$="INC" 1760 PRINT #4%,MID(S$(S%),52%,24%); 1770 IF C0$>="77" THEN PRINT #4%,USING "##.# \ \####.#",H3,G1$,Q2 : GO TO 1800 1780 PRINT #4%,USING "##.# \ \ ##.#/#.#",H3,G1$,Q1,Q2 1800 NEXT I% 1820 IF H4<.01 THEN C0,C5=0. : GO TO 1860 1840 C0=Q/H4 : C5=Q0/H4 ! SEM GPA 9,4 1860 T7=H7+H2 : T8=H8+H5 : T9=H9+H4 1880 ! ACCUM GRAD GPA CREDITS 1900 IF T9<.01 THEN C9,C4=0. : GO TO 1940 1920 C9=(Q+Q9)/T9 : C4=(Q0+Q4)/T9 ! CUM GPA 9,4 1940 PRINT #4% FOR X%=1% TO 11%-I% 1960 IF C0$>="77" THEN PRINT #4% : GO TO 2000 ! NO 9 POINT STATS FOR 77 & ON 1980 PRINT #4%, USING S9$,H,H2,Q,C0,T7,T8,C9 ! 9 PT 2000 PRINT #4%, USING S4$,H,H2,Q0,C5,T7,T8,C4 2020 PRINT #4%,CHR$(10%)+CHR$(10%)+CHR$(10%) 2040 GO TO 1100 2060 ! === FIND PARENT'S NAME === 2080 IF F7% THEN 2140 ! IF HOLDING NAME SKIP READ 2100 IF D%<1% THEN D%=D%+1% ELSE D%=0% : GET #5% 2120 D1$=LEFT(D$(D%),6%) 2140 IF I$<>D1$ THEN 2160 ELSE D2$=MID(D$(D%),126%,28%) : F7%=0% : RETURN 2160 IF D1$C5$ THEN 2360 2280 H7=FNC(77%) : H8=FNC(85%) : H9=FNC(81%) 2300 Q9=H9*FNC(45%) : Q4=H9*FNC(69%) 2320 ! CC PASSED, CC TWD GRAD, CC TWD CUM, QP9, QP4 2340 F9%=0% : RETURN ! (SET FLAG TO READ ANOTHER GPA) 2360 IF C5$5% THEN ON ERROR GO TO 0 2420 IF ERL=600% THEN &"CAN'T FIND ";F3$ : F3$="" : RESUME 580 2440 IF ERL=640% THEN & : &"RUN 'SUBIN' TO CREATE "; "A SUBJECT INDEX FILE" : GO TO 2560 2460 IF ERL=800% THEN &"CAN'T FIND ";F$ : F$="" : RESUME 780 2480 IF ERL=860% THEN &"CAN'T FIND ";F0$ : F0$="" : RESUME 840 2500 IF ERL=920% THEN &"CAN'T FIND ";F4$ : F4$="" : RESUME 900 2510 IF ERL=690% THEN P1$="" : RESUME 680 2520 PRINT #4%, CHR$(26%) : CLOSE 1%,2%,3%,4%,5%,6%,7% 2540 PRINT : PRINT U0%;"STUDENT RECORDS PROCESSED" 2560 END