5 ! REPORT - REPORT CARD PROGRAM 100 !**************OPEN DISK FILES************************** 101 OPEN "**MASTER" AS FILE 1 : DIM# 1 ,M%(100) 120 OPEN "LP:" AS FILE 12 130 OPEN "**LITCLS" AS FILE 2 : DIM# 2 ,C1$( 2222 )=32 140 OPEN "**STINF" AS FILE 3 : DIM# 3 ,S$( 1111 )=32 160 OPEN "**STUDF" AS FILE 5 : DIM# 5 ,L%( 1111 ,2),S%( 1111 ,10),N( 1111 ) 170 OPEN "**OVERF" AS FILE 6 : DIM# 6 ,S0%( 33 ,5) 180 OPEN "**GRADES" AS FILE 10 : DIM# 10 ,G%( 1111 ,10),G0%( 33 ,5),C%( 2222 ) 190 OPEN "**MAILER" AS FILE 8 : DIM# 8 ,M$( 1111 )=32 192 OPEN "**VISOR" AS FILE 9 : DIM# 9 ,A%( 1111 ),M7%( 1111 ) 195 OPEN "**ADVISR" AS FILE 11 : DIM# 11 ,A$(300),M7$(200)=32 210 C$=SPACE$(64) 299 !******************************************************* 300 DIM G$(20) 305 I1=11 ! PRESENT # OF GRADES 310 READ G$(I) FOR I=1 TO I1 320 DATA A,B,C,D,F,P,W,WF,I,H,N 330 G$(0)="H" ! GRADES NOT TURNED IN 400 INPUT "HOW MANY REPORT CARDS ARE TO BE PRINTED";I2 402 I6=I2 : I1=1 405 INPUT "STARTING DP#";J% 430 GOSUB 5000 ! TEST PRINT FOR ALEIGNMENT 440 INPUT "PRINTING OK";T$ : IF T$<>"YES" THEN 430 499 ! *****LETS GET AFTER IT******** 500 FOR I7=I1 TO I6 510 IF S%(J%,1)=0% THEN 530 ! NO COURSES 515 IF J%=1557% THEN 530 ! SKIP 520 GOSUB 5000 ! PRINT CARD 530 J%=L%(J%,1) !NEXT POINTER 535 NEXT I7 540 GOTO 9000 ! FINISHED I THOUGHT WE WOULD NEVER MAKE IT 5000 !******PRINT SUBROUTINE******** 5010 T1=10: T2=32 : T3=38: T4=59: T5=63 5011 T3=39 : T5=64 5020 PRINT #12 5030 IF A%(J%)<=0% OR A%(J%)>300 THEN PRINT #12 ELSE PRINT #12,TAB(T3);A$(A%(J%)) 5040 K=3 5100 I2%=S%(J%,1)/100% : I1%=S%(J%,1)-I2%*100% 5105 PRINT #12 : K=K+1 5130 FOR I%=1 TO I1% 5135 IF S%(J%,I%+2%)/10% =0% THEN 5500 5140 IF I%<9 THEN 5200 5145 !** OVERFLOW CLASS ** 5150 Q1%=S%(J%,2): C1%=S0%(Q1%,I%-7)/10% 5160 H1%=S0%(Q1%,I%-7%)-C1%*10% 5165 G9%=G0%(Q1%,I%-7%) 5170 GOTO 5250% 5200 !** REGULAR CLASS ** 5210 C1%=S%(J%,I%+2%)/10% : H1%=S%(J%,I%+2%)-C1%*10% 5215 G9%=G%(J%,I%) ! PICK UP GRADE 5220 H1$=LEFT(H1$,LEN(H1$)-1)! TAKE OFF FINAL BLANK 5250 IF G9%=12% THEN 5500% ! E-GRADE SKIP 5260 H1$=MID(NUM$(H1%),2,1) 5300 IF K=8 THEN PRINT #12,N(J%);TAB(T1);LEFT(S$(J%),20); 5350 C2$=LEFT(C1$(C1%),28) 5365 IF G9%=0% OR G9%=5% OR G9%>7% THEN TAB(T2);C2$;TAB(T4); 5366 IF G9%=7% THEN H1%=0% 5370 PRINT #12,TAB(T2);C2$;TAB(T4);H1%;TAB(T5);G$(G9%) 5380 K=K+1 5500 NEXT I% 5600 FOR I2=1 TO 15-K 5602 IF K=8 THEN PRINT #12,N(J%);TAB(T1);LEFT(S$(J%),20): K=K+1 : GOTO 5607 5606 PRINT #12 : K=K+1 5607 NEXT I2 5615 Y=INSTR(1,S$(J%)," ") 5616 Y1=INSTR(Y+1,S$(J%)," ") : Y2=20 : IF Y1<>0 THEN Y2=Y1 5618 & #12,TAB(T1);MID(S$(J%),Y+1,Y2-Y-1);" ";LEFT(S$(J%),Y) 5620 PRINT #12,TAB(T1);S1$ 5650 S1$=M$(J%) 5660 PRINT #12,TAB(T1);LEFT(S1$,15) 5670 PRINT #12,TAB(T1);MID(S1$,16,10);", ";MID(S1$,26,2) 5680 PRINT #12,TAB(T1);MID(S1$,28,5) 5690 PRINT #12 FOR I=1 TO 3 5691 PRINT #12 5900 RETURN !ONE DOWN -AND 3199 TO GO******** 9000 !******ITS ALL OVER BUT THE SHOUTING!!!!!!*********** 9002 PRINT "STOPED AT-";TIME$(0) 9005 CLOSE 1,2,3,4,5,6,12 9006 CLOSE 7,8,9,10,11,12 9015 END