10 ! ORIGINAL SOURCE:  ACCOUNTING WITH THE COMPUTER
		 BY:  J.W. WILKINSON
	  COPYRIGHT:  1972 RICHARD D. IRWIN
20 ! THIS VERSION BY DARRYL JOHNSON
	            BENTLEY COLLEGE SPRING 1972
30 ! LAST REVISED BY JERRY SIMMONS
	            BENTLEY COLLEGE
		    SPRINT 1973
  !
40 DIM Z(10,3),C(80,4),A$(72),B$(10),A(30)
50 OPEN "$CASE1.DAT" AS FILE 1%
60 DIM #1%,A1(30),N(30),B(32),I$(28)=64
70 MAT A=A1:PRINT:PRINT
80 INPUT"TYPE IN YOUR NAME, CLASS, AND SECTION NUMBER"A$
90 PRINT:PRINT
100 INPUT"DO YOU WANT INSTRUCTIONS";B$
110 PRINT:PRINT
120 IF LEFT(B$,1%)="Y" THEN 130 ELSE IF LEFT(B$,1%)="N" THEN 140 ELSE
    PRINT"PLEASE ANSWER 'YES' OR 'NO'" : GOTO 100
130 PRINT I$(X%) FOR X%=1% TO 28%:PRINT:PRINT
140 PRINT "PLEASE TYPE IN THE MONTH CODE AND THE ENDING"
150 INPUT"INVENTORY FIGURE SEPERATED BY COMMAS";M,P1
160 IF M=3 THEN 170 ELSE PRINT "THE MONTH CODE IS INCORRECT" :
           GOTO 140
170 A1,N3,N4,T,Z = 0
180 Z=1:PRINT:PRINT
190 PRINT "TRANS. ACC."
200 PRINT " NO.   NO.   DR. CR."
210 PRINT "--------------------"
220 INPUT N,N1,D,C
230 IF N3<>0 THEN 260
240 N3=N
250 N4=N
260 IF N=9999 THEN 320
270 FOR X=1 TO 30
280 IF N(X)=N1 THEN 320
290 NEXT X
300 PRINT N1 "IS AN INVALID ACCOUNT NO.  RE-ENTER THE ENTIRE LINE"
310 GOTO 220
320 IF N=N4 THEN 500 ELSE IF A1<=.01 AND A1>=-.01 THEN 430
330 PRINT:PRINT
340 PRINT"IN TRANSACTION NO."N4"THE DEBITS AND CREDITS ARE NOT EQUAL"
350 PRINT"TO CHANGE NO."N4"TYPE CHANGE. TO CONTINUE WITH NO."N"TYPE"
360 PRINT"CONTINUE [CAUTION: NO."N4"WILL BE BOOKED OUT OF BALANCE],"
370 PRINT"OR TYPE IN STOP TO STOP THE PROGRAM."
380 INPUT "CHANGE   CONTINUE   OR STOP";B$
390 IF LEFT(B$,3)="CON" THEN 420 ELSE IF LEFT(B$,3)="CHA" THEN 400
    ELSE IF LEFT(B$,3)="STO" THEN STOP ELSE
    PRINT "PLEASE TYPE 'CHANGE', 'CONTINUE', OR 'STOP'" : GOTO 380
400 MAT Z=ZER
410 PRINT"COMPLETELY RE-ENTER NO."N4"AND THEN START NO."N"ALL OVER" :
    T,A1=0 : GOTO 220
420 PRINT "CONTINUE WITH TRANSACTION NO."N
430 FOR X1=1 TO T : N8=Z(X1,1) : A(N8)=A(N8)+Z(X1,2)-Z(X1,3) : NEXT X1
440 Z1=1
450 FOR X1=Z TO(Z+T-1) : N8=Z(Z1,1) : C(X1,1)=N4
460 C(X1,2)=N(N8) : C(X1,3)=Z(Z1,2) : C(X1,4)=Z(Z1,3)
470 Z1=Z1+1 : NEXT X1
480 Z=Z+T : N4=N : MAT Z=ZER : T,A1=0
490 IF N=9999 THEN 520
500 T=T+1 : Z(T,1)=X : Z(T,2)=Z(T,2)+D : Z(T,3)=Z(T,3)+C : A1=A1+D-C
510 A1=INT(A1*100)/100 : GOTO 220
520 PRINT FOR X=1 TO 4 : PRINT TAB(22)"ACCOUNTING WITH THE COMPUTER" :
     PRINT TAB((72-(15+LEN(A$)))/2)"PROCESSING FOR "A$ : PRINT
530 A(19)=A(3) : A(22)=P1 : A(3)=P1
540 PRINT"THE FOLLOWING ACCOUNTS HAVE INCORRECT BALANCES:"
550 PRINT
560 FOR X=1 TO 30 : IF X= 16 THEN 590 ELSE B(X)=ABS(B(X))
570 A(X)=ABS(A(X)) : E=ABS(B(X)-A(X)) : IF E<.51 THEN 590 ELSE
     PRINT N(X);
580 C=1
590 NEXT X
600 IF C=0 THEN PRINT "NONE"
610 A1$="":A1$=A1$+CVTF$(A(X)) FOR X=1 TO 30
620 V$=SYS(CHR$(8%)+A1$)
630 PRINT FOR X=1 TO 5 : PRINT"IF YOU WANT A LISTING OF YOUR ENTRIES":
     INPUT"TYPE 'YES'; IF NOT TYPE 'NO'"B$
640 IF LEFT(B$,1)="Y" THEN 650 ELSE 680
650 PRINT"TRANS.  ACCOUNT   DEBIT    CREDIT" : PRINT"  NO.     NO." :
     PRINT"------------------------" : PRINT C(1,1);:FOR X1=1 TO Z :
     PRINT TAB(10);C(X1,2);TAB(20);C(X1,3);TAB(30);C(X1,4)
660 IF C(X1,1)=C(X1+1,1) THEN 670 ELSE IF C(X1+1,1)=0 THEN 680
     ELSE PRINT : PRINT C(X1+1,1);
670 NEXT X1
680 CHAIN "$CASE2.BAC" 20
690 END
