Bank Book

Developer(s): Tim Ward
Date: 1983
Type: Program
Platform(s): TS 1000

Appears on

Assembled by Tim Ward from many sources. Contains programs 10001 – 10050.

Gallery

Bank Book

Source Code

  10 DIM T$(25,19)
  20 REM % %T%H%E% %B%A%N%K% %B%O%O%K%S% % % % % % % % 
  30 PRINT "\''\:'\' \ : \ : \:'\''\'                        \:  \ :\..\.: \:.\..\.                        \:  \ : \ : \:                          \'  \ ' \ ' \''\''\'                                                       % % % % \.  \ :% % % % \:  % \:   %  \ :\:   \.:\:        %    %  \ :\:   \ :\:  % %   %  \ :\:  \.:\:'        %    %  \ :\:   \ :\:  % \ :\:  %  \ :\: \.:\:'         % % % % \:  \ :% % % % \:  %  %  %  \ :% %           %    %  \ :\:   \ :\:  %  \ :\: %  \ :\: \':\:.         %    %  \ :\:   \ :\:  %   % %  \ :\:  \':\:.        % % % % \'  \ :\:   \ :\:  %   \ :%  \ :\:   \':\:                                                                        % % % % \.  \ :% % % % \:  % % % % %  \ :\:   \.:\:  % % % % %  %    %  \ :\:   \ :\:  %    %  \ :\:  \.:\:'  %    %  %    %  \ :\:   \ :\:  %    %  \ :\: \.:\:'   %      % % % % \:  \ :\:   \ :\:  %    %  \ :% %     % % % % %  %    %  \ :\:   \ :\:  %    %  \ :\: \':\:.       %  %    %  \ :\:   \ :\:  %    %  \ :\:  \':\:.  %    %  % % % % \'  \ :% % % % \:  % % % % %  \ :\:   \':\:  % % % % %  WRITTEN BY TIM L. WARD MAY 1983"   
  40 PAUSE 600
  50 CLS 
  60 REM %M%E%N%U% % % % % % % % % % % % % % % % % % % 
  70 PRINT AT 1,7;"THE BANK BOOKS 1.0",,,AT 3,14;"MENU",,,,,AT 6,6;"PLEASE ENTER NUMBER",,,"1...START NEW FILE",,,"2...ENTER NEW TRANSACTIONS FOR",,TAB 4;"THIS FILE",,,,"3...PRINT AND DISPLAY THIS FILE",,,"4...SAVE THIS FILE WITH TRANS",,,"5...SAVE THIS FILE WITH BAL.ONLY",,"6...END PROGRAM"
  80 INPUT M
  90 CLS 
 100 IF M=1 THEN GOTO 170
 110 IF M=2 THEN GOTO 360
 120 IF M=3 THEN GOTO 970
 130 IF M=4 THEN GOTO 3080
 140 IF M=5 THEN GOTO 3130
 150 IF M=6 THEN GOTO 3810
 160 REM %B%E%G%.% %B%A%L%.%/%I%N%T%.% %R%A%T%E% % % % 
 170 PRINT AT 10,10;"PLEASE ENTER:"
 180 PRINT AT 12,7;"BEG. STATEMENT DATE"
 190 INPUT D$
 200 PRINT AT 12,0;"BEG. BALANCE OF CHECKING ACCOUNT"
 210 INPUT E$
 220 PRINT AT 12,0;"BEG. BALANCE OF SAVINGS ACCOUNT "
 230 INPUT F$
 240 PRINT AT 12,0;"BEG. BALANCE OF LOAN ACCOUNT    "
 250 INPUT G$
 260 PRINT AT 12,0;"INTEREST RATE ON CHECKING ACOUNT"
 270 INPUT CINT
 280 LET CINT=CINT/100/12
 290 PRINT AT 12,0;"INTEREST RATE ON SAVINGS ACCOUNT"
 300 INPUT SINT
 310 LET SINT=SINT/100/12
 320 PRINT AT 12,0;"ANNUAL PERCENTAGE RATE ON LOAN  "
 330 INPUT LPR
 340 LET LPR=LPR/100/12
 350 FOR I=1 TO 25
 360 CLS 
 370 REM %T%R%A%N%S% %E%D%I%T%/%A%C%C%E%P%T%E%D% % % % 
 380 PRINT AT 10,10;"PLEASE ENTER:"
 390 PRINT AT 12,10;"TRANSACTIONS"
 400 PRINT AT 13,10;"\''\''\''\''\''\''\''\''\''\''\''\''"
 410 INPUT T$(I)
 420 CLS 
 430 IF T$(I, TO 2)="CD" THEN GOTO 590
 440 IF T$(I, TO 2)="CW" THEN GOTO 590
 450 IF T$(I, TO 2)="CT" THEN GOTO 590
 460 IF T$(I, TO 2)="SD" THEN GOTO 590
 470 IF T$(I, TO 2)="SW" THEN GOTO 590
 480 IF T$(I, TO 2)="ST" THEN GOTO 590
 490 IF T$(I, TO 2)="LP" THEN GOTO 590
 500 IF T$(I, TO 3)<>"END" THEN GOTO 520
 510 GOTO 950
 520 PRINT AT 10,14;"REJECT"
 530 PRINT AT 12,5;"TRANSACTION CODE INVALID"
 540 PRINT AT 13,5;"\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''"
 550 PRINT AT 14,7;T$(I)
 560 PRINT AT 15,7;"\''\''"
 570 PAUSE 600
 580 GOTO 360
 590 IF VAL T$(I,3 TO 4)<=12 THEN GOTO 670
 600 PRINT AT 10,14;"REJECT"
 610 PRINT AT 12,5;"TRANSACTION MONTH INVALID"
 620 PRINT AT 13,5;"\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''"
 630 PRINT AT 14,7;T$(I)
 640 PRINT AT 15,9;"\''\''"
 650 PAUSE 600
 660 GOTO 360
 670 IF VAL T$(I,5 TO 6)<=31 THEN GOTO 750
 680 PRINT AT 10,14;"REJECT"
 690 PRINT AT 12,5;"TRANSACTION DAY INVALID"
 700 PRINT AT 13,5;"\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''"
 710 PRINT AT 14,7;T$(I)
 720 PRINT AT 15,11;"\''\''"
 730 PAUSE 600
 740 GOTO 360
 750 IF T$(I,7 TO 8)>=D$(5 TO 6) THEN GOTO 830
 760 PRINT AT 10,14;"REJECT"
 770 PRINT AT 12,5;"TRANSACTION YEAR INVALID"
 780 PRINT AT 13,5;"\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''"
 790 PRINT AT 14,7;T$(I)
 800 PRINT AT 15,13;"\''\''"
 810 PAUSE 600
 820 GOTO 360
 830 IF VAL T$(I,13 TO )>0 THEN GOTO 910
 840 PRINT AT 10,14;"REJECT"
 850 PRINT AT 12,5;"TRANSACTION AMOUNT INVALID"
 860 PRINT AT 13,5;"\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''"
 870 PRINT AT 14,7;T$(I)
 880 PRINT AT 15,19;"\''\''\''\''\''\''\''"
 890 PAUSE 600
 900 GOTO 360
 910 PRINT AT 12,6;"TRANSACTION ACCEPTED"
 920 PRINT AT 13,6;"\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''"
 930 PAUSE 50
 940 NEXT I
 950 GOTO 50
 960 REM %S%O%R%T% % % % % % % % % % % % % % % % % % % 
 970 FAST 
 980 FOR X=1 TO I-1
 990 FOR S=X+1 TO I
1000 IF T$(X,3 TO 6)<T$(S,3 TO 6) THEN GOTO 1040
1010 LET S$=T$(X)
1020 LET T$(X)=T$(S)
1030 LET T$(S)=S$
1040 NEXT S
1050 NEXT X
1060 REM %F%O%R%M%A%T% %H%E%A%D%I%N%G% %L%I%N%E%S% % % 
1070 DIM A$(I+27,32)
1080 DIM B$(I+26,32)
1090 DIM C$(I+26,32)
1100 LET A$(1)="THE BANK BOOKS ACCOUNTS SUMMARY"
1110 LET A$(2,5 TO 28)="CHECKING ACCOUNT SUMMARY"
1120 LET A$(3)="DATE    TRANS.   AMOUNT  BALANCE"
1130 LET A$(4, TO 2)=D$( TO 2)
1140 LET A$(4,3)="-"
1150 LET A$(4,4 TO 5)=D$(3 TO 4)
1160 LET Z$=E$
1170 GOSUB 3670
1180 LET A$(4,25 TO )=Z$
1190 LET B$(1,5 TO 27)="SAVINGS ACCOUNT SUMMARY"
1200 LET B$(2)="DATE    TRANS.   AMOUNT  BALANCE"
1210 LET B$(3, TO 2)=D$( TO 2)
1220 LET B$(3,3)="-"
1230 LET B$(3,4 TO 5)=D$(3 TO 4)
1240 LET Z$=F$
1250 GOSUB 3670
1260 LET B$(3,25 TO )=Z$
1270 LET C$(1,7 TO 26)="LOAN ACCOUNT SUMMARY"
1280 LET C$(2)="DATE             AMOUNT  BALANCE"
1290 LET C$(3, TO 2)=D$( TO 2)
1300 LET C$(3,3)="-"
1310 LET C$(3,4 TO 5)=D$(3 TO 4)
1320 LET Z$=G$
1330 GOSUB 3670
1340 LET C$(3,25 TO )=Z$
1350 LET A=5
1360 LET B=4
1370 LET C=4
1380 REM %T%R%A%N%S%A%C%T%I%O%N% %P%R%O%C%E%S%S%I%N%G% 
1390 FOR T=1 TO I-1
1400 GOSUB 3300
1410 IF T$(T,3 TO 4)>A$(A-1, TO 2) THEN GOSUB 3300
1420 IF T$(T, TO 2)<>"CD" THEN GOTO 1550
1430 LET A$(A, TO 2)=T$(T,3 TO 4)
1440 LET A$(A,3)="-"
1450 LET A$(A,4 TO 5)=T$(T,5 TO 6)
1460 LET A$(A,9 TO 12)=T$(T,9 TO 12)
1470 LET Z$=T$(T,13 TO )
1480 GOSUB 3670
1490 LET A$(A,16 TO 23)=Z$
1500 LET Z$=STR$ (VAL A$(A-1,25 TO )+VAL T$(T,13 TO ))
1510 GOSUB 3670
1520 LET A$(A,25 TO )=Z$
1530 LET A=A+1
1540 NEXT T
1550 IF T$(T, TO 2)<>"CW" THEN GOTO 1680
1560 LET A$(A, TO 2)=T$(T,3 TO 4)
1570 LET A$(A,3)="-"
1580 LET A$(A,4 TO 5)=T$(T,5 TO 6)
1590 LET A$(A,9 TO 12)=T$(T,9 TO 12)
1600 LET Z$=T$(T,13 TO )
1610 GOSUB 3670
1620 LET A$(A,16 TO 23)=Z$
1630 LET Z$=STR$ (VAL A$(A-1,25 TO )-VAL T$(T,13 TO ))
1640 GOSUB 3670
1650 LET A$(A,25 TO )=Z$
1660 LET A=A+1
1670 NEXT T
1680 IF T$(T, TO 2)<>"CT" THEN GOTO 1860
1690 LET A$(A, TO 2)=T$(T,3 TO 4)
1700 LET A$(A,3)="-"
1710 LET A$(A,4 TO 5)=T$(T,5 TO 6)
1720 LET A$(A,9 TO 12)=T$(T,9 TO 12)
1730 LET Z$=T$(T,13 TO )
1740 GOSUB 3670
1750 LET A$(A,16 TO 23)=Z$
1760 LET Z$=STR$ (VAL A$(A-1,25 TO )-VAL T$(T,13 TO ))
1770 GOSUB 3670
1780 LET A$(A,25 TO )=Z$
1790 LET B$(B, TO 23)=A$(A, TO 23)
1800 LET Z$=STR$ (VAL B$(B-1,25 TO )+VAL T$(T,13 TO ))
1810 GOSUB 3670
1820 LET B$(B,25 TO )=Z$
1830 LET A=A+1
1840 LET B=B+1
1850 NEXT T
1860 IF T$(T, TO 2)<>"SD" THEN GOTO 1990
1870 LET B$(B, TO 2)=T$(T,3 TO 4)
1880 LET B$(B,3)="-"
1890 LET B$(B,4 TO 5)=T$(T,5 TO 6)
1900 LET B$(B,9 TO 12)=T$(T,9 TO 12)
1910 LET Z$=T$(T,13 TO )
1920 GOSUB 3670
1930 LET B$(B,16 TO 23)=Z$
1940 LET Z$=STR$ (VAL B$(B-1,25 TO )+VAL T$(T,13 TO ))
1950 GOSUB 3670
1960 LET B$(B,25 TO )=Z$
1970 LET B=B+1
1980 NEXT T
1990 IF T$(T, TO 2)<>"SW" THEN GOTO 2120
2000 LET B$(B, TO 2)=T$(T,3 TO 4)
2010 LET B$(B,3)="-"
2020 LET B$(B,4 TO 5)=T$(T,5 TO 6)
2030 LET B$(B,9 TO 12)=T$(T,9 TO 12)
2040 LET Z$=T$(T,13 TO )
2050 GOSUB 3670
2060 LET B$(B,16 TO 23)=Z$
2070 LET Z$=STR$ (VAL B$(B-1,25 TO )-VAL T$(T,13 TO ))
2080 GOSUB 3670
2090 LET B$(B,25 TO )=Z$
2100 LET B=B+1
2110 NEXT T
2120 IF T$(T, TO 2)<>"ST" THEN GOTO 2300
2130 LET B$(B, TO 2)=T$(T,3 TO 4)
2140 LET B$(B,3)="-"
2150 LET B$(B,4 TO 5)=T$(T,5 TO 6)
2160 LET B$(B,9 TO 12)=T$(T,9 TO 12)
2170 LET Z$=T$(T,13 TO )
2180 GOSUB 3670
2190 LET B$(B,16 TO 23)=Z$
2200 LET Z$=STR$ (VAL B$(B-1,25 TO )-VAL T$(T,13 TO ))
2210 GOSUB 3670
2220 LET B$(B,25 TO )=Z$
2230 LET A$(A, TO 23)=B$(B, TO 23)
2240 LET Z$=STR$ (VAL A$(A-1,25 TO )+VAL T$(T,13 TO ))
2250 GOSUB 3670
2260 LET A$(A,25 TO )=Z$
2270 LET A=A+1
2280 LET B=B+1
2290 NEXT T
2300 IF T$(T, TO 2)<>"LP" THEN GOTO 2430
2310 LET C$(C, TO 2)=T$(T,3 TO 4)
2320 LET C$(C,3)="-"
2330 LET C$(C,4 TO 5)=T$(T,5 TO 6)
2340 LET Z$=T$(T,13 TO )
2350 GOSUB 3670
2360 LET C$(C,16 TO 23)=Z$
2370 LET Z$=STR$ (VAL C$(C-1,25 TO )-VAL T$(T,13 TO ))
2380 GOSUB 3670
2390 LET C$(C,25 TO )=Z$
2400 LET C=C+1
2410 NEXT T
2420 SLOW 
2430 LET P=0
2440 FOR L=1 TO A
2450 IF L=P+22 THEN GOTO 2490
2460 PRINT A$(L)
2470 NEXT L
2480 GOTO 2550
2490 PAUSE 600
2500 CLS 
2510 PRINT A$(2)
2520 PRINT A$(3)
2530 LET P=P+22
2540 GOTO 2460
2550 PAUSE 600
2560 CLS 
2570 LET P=0
2580 FOR L=1 TO B
2590 IF L=P+22 THEN GOTO 2630
2600 PRINT B$(L)
2610 NEXT L
2620 GOTO 2690
2630 PAUSE 600
2640 CLS 
2650 PRINT B$(1)
2660 PRINT B$(2)
2670 LET P=P+22
2680 GOTO 2600
2690 PAUSE 600
2700 CLS 
2710 LET P=0
2720 FOR L=1 TO C
2730 IF L=P+22 THEN GOTO 2770
2740 PRINT C$(L)
2750 NEXT L
2760 GOTO 2830
2770 PAUSE 600
2780 CLS 
2790 PRINT C$(1)
2800 PRINT C$(2)
2810 LET P=P+22
2820 GOTO 2740
2830 PAUSE 600
2840 CLS 
2850 PRINT AT 12,0;"DO YOU WANT HARD COPY (YES/NO)"
2860 INPUT M$
2870 CLS 
2880 SLOW 
2890 IF M$="NO" THEN GOTO 70
2900 FAST 
2910 LPRINT TAB 5;"TRANSACTIONS ACCEPTED"
2920 FOR L=1 TO T
2930 LPRINT TAB 6;T$(L)
2940 NEXT L
2950 LPRINT 
2960 FOR L=1 TO A
2970 LPRINT A$(L)
2980 NEXT L
2990 FOR L=1 TO B
3000 LPRINT B$(L)
3010 NEXT L
3020 FOR L=1 TO C
3030 LPRINT C$(L)
3040 NEXT L
3050 SLOW 
3060 GOTO 70
3070 REM %S%A%V%E% %R%O%U%T%I%N%E% % % % % % % % % % % 
3080 PRINT AT 10,5;"STEP 1  ENTER FILE NAME";AT 12,5;"STEP 2  SET TAPE TO RECORD";AT 14,5;"STEP 3  PRESS ""ENTER"""
3090 INPUT N$
3100 CLS 
3110 SAVE N$
3120 GOTO 30
3130 PRINT AT 10,5;"STEP 1  ENTER FILE NAME";AT 12,5;"STEP 2  SET TAPE TO RECORD";AT 14,5;"STEP 3  PRESS ""ENTER"""
3140 INPUT N$
3150 CLS 
3160 FAST 
3170 GOSUB 3320
3180 LET D$=A$(A,1 TO 2)+A$(A,4 TO 5)+T$(T,7 TO 8)
3190 LET E$=A$(A,25 TO )
3200 LET F$=B$(B,25 TO )
3210 LET G$=C$(C,25 TO )
3220 DIM T$(1,1)
3230 DIM A$(1,1)
3240 DIM B$(1,1)
3250 DIM C$(1,1)
3260 SAVE N$
3270 SLOW 
3280 GOTO 10
3290 REM %E%N%D% %O%F% %M%O%N%T%H% %R%O%U%T%I%N%E% % % 
3300 IF T$(T,3 TO 4)>A$(A-1, TO 2) THEN GOTO 3320
3310 RETURN 
3320 GOSUB 3530
3330 LET A$(A, TO 5)=Y$
3340 LET B$(B, TO 5)=Y$
3350 LET C$(C, TO 5)=Y$
3360 LET AMT=VAL A$(A-1,25 TO )
3370 LET Z$=STR$ (AMT+(AMT*CINT))
3380 GOSUB 3670
3390 LET A$(A,25 TO )=Z$
3400 LET AMT=VAL B$(B-1,25 TO )
3410 LET Z$=STR$ (AMT+(AMT*SINT))
3420 GOSUB 3670
3430 LET B$(B,25 TO )=Z$
3440 LET AMT=VAL C$(C-1,25 TO )
3450 LET Z$=STR$ (AMT+(AMT*LPR))
3460 GOSUB 3670
3470 LET C$(C,25 TO )=Z$
3480 LET A=A+1
3490 LET B=B+1
3500 LET C=C+1
3510 RETURN 
3520 REM %E%N%D% %O%F% %M%O%N%T%H% %D%A%T%E% %R%O%U%T% 
3530 IF A$(A-1, TO 2)="01" THEN LET Y$="02-01"
3540 IF A$(A-1, TO 2)="02" THEN LET Y$="03-01"
3550 IF A$(A-1, TO 2)="03" THEN LET Y$="04-01"
3560 IF A$(A-1, TO 2)="04" THEN LET Y$="05-01"
3570 IF A$(A-1, TO 2)="05" THEN LET Y$="06-01"
3580 IF A$(A-1, TO 2)="06" THEN LET Y$="07-01"
3590 IF A$(A-1, TO 2)="07" THEN LET Y$="08-01"
3600 IF A$(A-1, TO 2)="08" THEN LET Y$="09-01"
3610 IF A$(A-1, TO 2)="09" THEN LET Y$="10-01"
3620 IF A$(A-1, TO 2)="10" THEN LET Y$="11-01"
3630 IF A$(A-1, TO 2)="11" THEN LET Y$="12-01"
3640 IF A$(A-1, TO 2)="12" THEN LET Y$="01-01"
3650 RETURN 
3660 REM %R%I%G%H%T%-%H%A%N%D% %J%U%S%T%I%F%Y% % % % % 
3670 DIM W$(1,8)
3680 LET W=VAL Z$
3690 LET X$=STR$ (INT (W*100+.5)/100)
3700 IF X$(1)="." THEN LET X$="0"+X$
3710 IF LEN X$>1 THEN IF X$(1 TO 2)="-." THEN LET X$="-0"+X$(2 TO )
3720 FOR K=1 TO LEN X$
3730 IF X$(K)="." THEN GOTO 3760
3740 NEXT K
3750 LET X$=X$+".00"
3760 IF K=LEN X$-1 THEN LET X$=X$+"0"
3770 LET W$(1,(7-K) TO )=X$
3780 LET Z$=W$(1)
3790 RETURN 
3800 REM %P%R%O%G%R%A%M% %S%T%O%P% % % % % % % % % % % 
3810 STOP 
3820 SAVE "1000%2"
3830 RUN 
Scroll to Top