10 DEF FNK$=NUM$(ASCII(RIGHT(SYS(CHR$(6)+CHR$(9)),2%))/2%) 20 OPEN"ENTRY."+FNK$ AS FILE 4 30 DIM #4,A(63,1) 40 ON ERROR GOTO 300 50 V$ = SYS(CHR$(7)) 60 C9$=LEFT(V$,4):R9%=CVT$%(MID(V$,5,2)):T%=CVT$%(MID(V$,7,2)) 70 V$=RIGHT(V$,9) 80 I% = INSTR(1%,V$,"/") 90 N$ = LEFT (V$,I%-1%) 100 V$ = RIGHT (V$,I%+1%) 110 I% = INSTR(1%,V$,"/") 120 C1$= LEFT (V$,I%-1%) 130 D1$=RIGHT(V$,I%+1%):IF T%=1% THEN A(0,0), A(0,1)=0 !ZERO TOTAL DEBTS & CREDITS 135 IF T%=1% THEN K%=0% ELSE K%=A(59%+T%,0%) 140 INPUT "INPUT FROM KB OR CR";W$ 150 IF LEFT(W$,1%)="C" THEN 430 ELSE IF LEFT(W$,1%)="K" THEN 170 ELSE 140 160! INPUT DATA FROM KB: 170 INPUT"ACT#,AMT";Y%,Y 180 IF Y%<0% THEN &"ILLEGAL ACT#":GOTO170 190 IF Y<0 OR Y>1E5 THEN &"ILLEGAL AMOUNT":GO TO 170 200 Y=Y*100 !CONVERT TO CENTS 210 K% =K%+1% 220 IF K%>60% THEN &"TOO MANY ENTRIES":GOTO800 230 A(K%,0%)=Y%:A(K%,1%)=Y:GOTO170 240 A(60%+T%,0%)=K% 250 &: INPUT "VERIFICATION PASS (Y/N)"; W$ 260 IF LEFT(W$,1%)="Y" THEN GOSUB 690 270 CLOSE 4 280 V$=SYS(CHR$(8)+CVT%$(K%)+N$+"/"+C1$+"/"+D1$) 290 CHAIN "$"+C9$ R9% 299! ERROR ROUTINES 300 IF ERL=170ANDERR=11THENRESUME240 310 IF ERL=430 AND ERR=8% THEN RESUME 320 ELSE 350 320 INPUT "CARD-READER IS IN USE ... WILL YOU WAIT";V$ 330 IF LEFT(V$,1%)="Y" THEN SLEEP 60%: GOTO 430 340 CLOSE 4: GOTO 810 350 IF ERL=470 AND ERR=14% THEN RESUME 360 ELSE 370 360 & "*** CARD-READER IS JAMMED ... SEE INSTRUCTOR IF YOU NEED HELP": GOTO 450 370 IF ERL=470 AND ERR=13% THEN RESUME 490 380 IF ERL=470 AND ERR=11% THEN RESUME 240 390 IF ERL=170 AND (ERR=52% OR ERR=50%) THEN &"ILLEGAL DATA FORMAT ... RETYPE LAST ENTRY": RESUME 170 400 IF ERL=750 AND (ERR=50% OR ERR=52%) THEN & "ILLEGAL DATA FORMAT ... RETYPE LAST ENTRY": RESUME 750 410 IF ERR=11% THEN RESUME 790 420 ON ERROR GOTO 0 429! INPUT DATA FROM CR: 430 OPEN"CR:" FOR INPUT AS FILE 1%:C$="" 440 &: &"LOAD INPUT DECK INTO CARD-READER AND RESET": & 450 INPUT "ARE YOU READY";W$ 460 IF LEFT(W$,1%)<>"Y" THEN 450 470 IF INSTR(A9+1,C$,",")=0%THEN A9=0:INPUTLINE #1,C$: C$=LEFT(C$,LEN(C$)-2%)+"," 480 A7=INSTR(A9+1,C$,",") : IF A7<>0 THEN Y%=VAL(MID(C$,A9+1,A7-A9-1)) ELSE 490 485 A9=INSTR(A7+1,C$,",") : IF A9<>0 THEN Y=VAL(MID(C$,A7+1,A9-A7-1)) : GOTO 610 490 & "ILLEGAL DATA ON CARD";C%: CLOSE 1,4: GOTO 810 610 IF Y<0 OR Y>1E5 THEN &"ILLEGAL AMOUNT ON CARD";C%: GOTO 800 620 Y=Y*100 ! CONVERT TO CENTS 630 K%=K%+1% 640 IF K%>60 THEN &"TOO MANY ENTRIES": GO TO 800 650 A(K%,0%)=Y%:A(K%,1%)=Y 660 GOTO 470 670 I%=INSTR(I%+1%,C$,",") 680 IF I% THEN 490 ELSE 470 690 ! VERIFICATION PASS 700 FOR I%=1% TO K% 710 &A(I%,0%);",";A(I%,1%)/100; 720 INPUT W$ 730 IF LEFT(W$,1%)<>"K" THEN 780 740 & TAB(7%); 750 INPUT "ACCOUNT #, AMOUNT ";Y%,Y 760 IF Y<0 OR Y>1E5 THEN &"ILLEGAL AMOUNT": GOTO 750 770 A(I%,0%)=Y%:A(I%,1%)=Y*100 780 NEXT I% 790 RETURN 800 CLOSE 1,4 810 END