A computer checkbook balancing program.
Appears on
Capital Area Timex Sinclair User Group’s Library Tape.
Source Code
1 REM program "bankrec" 5 CLS : BORDER 6: INK 9 6 LET b=0: LET c=0: LET d=0 7 LET e=-1: LET i$="": 8 POKE 23658,8 9 POKE 23609,100 10 PRINT PAPER 6;" BANK RECONCILLIATION " 15 PRINT AT 1,1; INK 7;"turn on printer for hard copy:";AT 1,0; OVER 1; PAPER 4;"________________________________" 20 INPUT FLASH 1; BRIGHT 1;" ENTER TODAY'S DATE ";e$ 25 GO SUB 2000 26 BORDER 2 28 CLS : BEEP .2,18: PRINT AT 0,0;" CHECKBOOK RECONCILIATION ";AT 0,0; OVER 1; PAPER 4; INK 7;"________________________________" 29 PRINT INVERSE 1;" REVIEW OF CHECKBOOK ENTRIES " 30 PRINT AT 3,0;"Ent# Pay/Deb ";TAB 14;"Deposit";TAB 25;"BALANCE";AT 3,0; OVER 1; PAPER 5;"________________________________" 32 PRINT AT 2,3; PAPER 6;"DATE:";AT 2,15;e$;AT 2,0; OVER 1;"________________________________" 35 LPRINT AT 0,0;" CHECKBOOK RECONCILIATION ";AT 0,0; OVER 1; PAPER 4;"________________________________" 36 LPRINT INVERSE 1;" REVIEW OF CHECKBOOK ENTRIES " 37 LPRINT AT 1,15-LEN e$/2-3;"Date: ";e$;AT 1,0; OVER 1;"________________________________" 38 LPRINT AT 2,0;"Ent# Pay/Deb";TAB 14;"Deposit";TAB 25;"BALANCE";AT 2,0; OVER 1; PAPER 5;"________________________________" 40 INPUT "ENTER STARTING DTE/CK# BEGINNING ENTRIES: ";S$;: PRINT AT 4,0; PAPER 4;"BEGIN ENTRIES (Dte/ck#) ";s$; 41 LPRINT AT 4,0; PAPER 4;"BEGIN ENTRIES (Dte/ck#) ";s$; 43 INPUT "1-ENTER BALANCE: ";b 44 LET b=INT (b*100+.5) 45 GO SUB 400 46 GO TO 120 50 INPUT INK 9; PAPER 7;"NEXT ENTRY:"; PAPER 2;"CK??"; PAPER 7;" OR "; PAPER 1;"DEPOSIT?? "; PAPER 7;" (ENTER c OR d):""m"" FOR MENU";i$ 70 IF i$="c" THEN INPUT INK 9;"Enter Amount of"; PAPER 2;" check: ";c 80 IF i$="d" THEN INPUT INK 9;"Enter Amount of"; PAPER 1;" DEPOSIT: ";d 85 IF i$="m" THEN CLS : GO TO 2000 90 IF i$<>"m" AND i$<>"c" AND i$<>"d" THEN GO TO 50 110 PRINT TAB 1;e;":$"; 120 IF i$="c" THEN GO SUB 200: PRINT TAB 12-LEN c$;c$; 122 IF i$="d" THEN GO SUB 300: PRINT TAB 13;"$";TAB 22-LEN d$;d$; 123 GO SUB 400: PRINT TAB 23;"$";: IF b>=0 THEN PRINT TAB 32-LEN b$;b$ 125 IF b<0 THEN PRINT TAB 31-LEN b$; INK 7; PAPER 2;"-";b$ 130 IF i$="c" THEN LPRINT TAB 1;e;":";TAB 10-LEN c$;"$";c$; 131 IF i$="d" THEN LPRINT TAB 1;e;":";TAB 20-LEN d$;"$";d$; 132 LPRINT TAB 31-LEN b$;"$"+b$ 140 LET c=0: LET d=0: LET i$="" 150 GO TO 50 200 LET c=INT (c*100+.5) 210 LET c$=STR$ c 220 IF c=0 THEN LET c$="000" 230 LET c$=c$( TO LEN c$-2)+"."+c$(LEN c$-1 TO ) 240 IF VAL c$>=0 THEN GO TO 252 250 LET c$=c$(2 TO ) 252 LET b=b-c 255 RETURN 300 LET d=INT (d*100+.5) 310 LET d$=STR$ d 320 IF d=0 THEN LET d$="000" 330 LET d$=d$( TO LEN d$-2)+"."+d$(LEN d$-1 TO ) 340 IF VAL d$>=0 THEN GO TO 352 350 LET d$=d$(2 TO ) 352 LET b=b+d 355 RETURN 400 LET e=e+1 410 LET b$=STR$ b 420 IF b=0 THEN LET b$="000" 430 LET b$=b$( TO LEN b$-2)+"."+b$(LEN b$-1 TO ) 440 IF VAL b$>=0 THEN GO TO 500 450 LET b$=b$(2 TO ) 500 RETURN 2000 BORDER 6 2002 POKE 23658,0 2005 PRINT TAB 15-LEN e$/2; PAPER 4; INK 7;e$ 2010 PRINT : PRINT TAB 9; PAPER 3;"INSTRUCTIONS" 2020 PRINT : PRINT TAB 1;"1- To verify checkbook entries." 2030 PRINT : PRINT TAB 1;"2- To Reconcile Bank statement"'" with your checkbook." 2050 PRINT AT 21,0; FLASH 1; BRIGHT 1; PAPER 2;" PRESS APPROPRIATE NUMBER " 2060 IF INKEY$<>"1" AND INKEY$<>"2" THEN GO TO 2050 2070 IF INKEY$="1" THEN GO TO 26 3000 CLS : BORDER 2 3002 LET tc=0 3005 LET b=0: LET c=0: LET d=0 3010 PRINT PAPER 3;" STATEMENT RECCONCILLATION " 3015 LPRINT : LPRINT : LPRINT " STATEMENT RECCONCILLATION " 3020 PRINT AT 19,0;"ENTER CHECKS OUTSTANDING: CKS:IN"'" CHECKBOOK BUT NOT ON STATEMENT" 3023 LPRINT INVERSE 1;" CHECKS OUTSTANDING " 3024 PRINT AT 2,0; INVERSE 1;" CHECKS OUTSTANDING " 3025 PRINT AT 1,3; PAPER 6;"DATE:";AT 1,15;e$;AT 1,0; OVER 1;"________________________________" 3026 LPRINT AT 1,15-LEN e$/2-3;"Date: ";e$;AT 1,0; OVER 1;"________________________________" 3027 PRINT AT 3,0;"CHECK #/date AMOUNT TOTAL ";AT 3,0; OVER 1;"________________________________" 3028 LPRINT "CHECK #/date AMOUNT TOTAL ";AT 4,0; OVER 1;"________________________________" 3030 INPUT "ENTER CHECK DATE OR NUMBER:"' PAPER 2;"enter ""f"" when finished ";i$ 3035 IF i$="f" THEN GO TO 4000 3040 PRINT i$; 3041 LPRINT i$; 3050 INPUT "ENTER AMOUNT OF CHECK";c 3052 LET tc=tc+c 3055 GO SUB 200: PRINT TAB 12;"$";TAB 21-LEN c$;c$; 3056 LPRINT TAB 12;"$";TAB 21-LEN C$;C$; 3060 GO SUB 400: PRINT TAB 23;"$";TAB 32-LEN b$;b$ 3061 LPRINT TAB 23;"$";TAB 32-LEN b$;b$ 3090 GO TO 3030 4000 CLS : BORDER 1: PRINT PAPER 3;" STATEMENT RECCONCILLATION " 4001 LPRINT : LPRINT : LPRINT PAPER 3;" STATEMENT RECCONCILLATION " 4002 LET b=0: LET d=0: LET c=0 4003 LET td=0 4005 PRINT AT 19,0;"ENTER DEPOSITS OUTSTANDING:DEP."'"IN CHECKBOOK : NOT ON STATEMENT" 4010 LPRINT INVERSE 1;" DEPOSITS OUTSTANDING " 4011 PRINT AT 1,0; INVERSE 1;" DEPOSITS OUTSTANDING " 4017 PRINT AT 2,3; PAPER 6;"DATE:";AT 2,15;e$;AT 2,0; OVER 1;"________________________________" 4018 LPRINT AT 1,15-LEN e$/2-3;"Date: ";e$;AT 1,0; OVER 1;"________________________________" 4030 PRINT AT 3,0;"DEPOSIT#/DATE AMOUNT TOTAL ";AT 3,0; OVER 1;"________________________________" 4040 LPRINT "DEPOSIT#/DATE AMOUNT TOTAL ";AT 4,0; OVER 1;"________________________________" 4045 INPUT "ENTER DEPOSIT DATE OR NUMBER:"' PAPER 2;"enter ""f"" when finished ";i$ 4048 IF I$="f" THEN GO TO 5000 4050 PRINT i$; 4055 LPRINT i$; 4058 INPUT "ENTER AMOUNT OF DEPOSIT ";d 4059 LET td=td+d 4060 GO SUB 300: PRINT TAB 12;"$";TAB 21-LEN d$;d$; 4061 LPRINT TAB 12;"$";TAB 21-LEN d$;d$; 4065 GO SUB 400: PRINT TAB 23;"$";TAB 32-LEN b$;b$ 4070 LPRINT TAB 23;"$";TAB 32-LEN b$;b$ 4080 GO TO 4045 5000 CLS : BORDER 6: PRINT PAPER 6;" FINAL RECONCILLIATION " 5001 LPRINT : LPRINT : LPRINT ; INVERSE 1;" FINAL RECONCILLIATION " 5005 INPUT "ENTER FINAL BALANCE ON BANK STATEMENT: ";b 5008 LET b=INT (b*100+.5): GO SUB 400 5010 PRINT "STATEMENT BALANCE:"; 5011 IF b<0 THEN PRINT TAB 23; PAPER 2; BRIGHT 1;"$";TAB 25;"-";TAB 32-LEN b$;b$ 5012 IF b>=0 THEN PRINT TAB 23;"$";;TAB 32-LEN b$;b$ 5015 LPRINT "STATEMENT BALANCE:"; 5017 IF b<0 THEN LPRINT TAB 23; INVERSE 1;"$";TAB 25;"-";TAB 32-LEN b$;b$ 5018 IF b>=0 THEN LPRINT TAB 23;"$";;TAB 32-LEN b$;b$ 5019 LET d=INT (td*100+.5): GO SUB 310 5020 PRINT : PRINT "ADDITIONAL DEPOSITS"'"FROM CHECKBOOK:";TAB 23;"$";TAB 32-LEN d$;d$ 5021 LPRINT : LPRINT "ADDITIONAL DEPOSITS"'"FROM CHECKBOOK:";TAB 23;"$";TAB 32-LEN d$;d$ 5035 PRINT "--------------------------------" 5036 LPRINT "--------------------------------" 5038 GO SUB 410 5040 PRINT "TOTAL:"; 5041 IF b<0 THEN PRINT TAB 23; BRIGHT 1; PAPER 2;"$";TAB 25;"-";TAB 32-LEN b$;b$ 5042 IF b>=0 THEN PRINT TAB 23;"$";TAB 32-LEN b$;b$ 5043 LPRINT "TOTAL:"; 5044 IF b<0 THEN LPRINT INVERSE 1;TAB 23;"$";TAB 25;"-";TAB 32-LEN b$;b$ 5045 IF b>=0 THEN LPRINT TAB 23;"$";TAB 32-LEN b$;b$ 5048 PRINT "--------------------------------" 5049 LPRINT "--------------------------------" 5050 LET C=INT (TC*100+.5) 5055 GO SUB 210 5060 PRINT : PRINT "LESS CHECKS OUTSTANDING";TAB 23;"$";TAB 32-LEN C$;C$ 5061 LPRINT : LPRINT "LESS OUTSTANDING CHECKS:";TAB 23;"$";TAB 32-LEN C$;C$ 5065 GO SUB 400 5070 PRINT "--------------------------------" 5071 LPRINT "--------------------------------" 5080 PRINT : PRINT PAPER 5;"FINAL BALANCE:";: IF b<0 THEN PRINT TAB 20; BRIGHT 1; PAPER 2;"OD $";TAB 25;"-";TAB 32-LEN B$;B$ 5081 IF b>=0 THEN PRINT TAB 23;"$";TAB 32-LEN b$;b$ 5085 LPRINT : LPRINT "FINAL BALANCE:";: IF b<0 THEN LPRINT TAB 20; INVERSE 1;"OD $";TAB 25;"-";TAB 32-LEN B$;B$ 5086 IF b>=0 THEN LPRINT TAB 23;"$";TAB 32-LEN b$;b$ 5090 PRINT "--------------------------------" 5091 LPRINT "--------------------------------" 5100 INPUT "NOW ENTER CHECKBOOK BALANCE:";CB 5110 LET CB=CB*100 5112 LET B$=STR$ CB: GO SUB 420 5114 PRINT "CKBOOK BALANCE:";TAB 32-LEN B$;B$ 5115 LPRINT "CKBOOK BALANCE:";TAB 32-LEN B$;B$ 5117 IF B=CB THEN PRINT ;TAB 3; PAPER 5;;"O.K. CORRECT BALANCE:$";TAB 32-LEN B$; PAPER 7;B$ 5118 IF B=CB THEN LPRINT ;TAB 3; INVERSE 1;"O.K.CORRECT BALANCE:$";TAB 32-LEN B$;B$ 5120 IF B=CB THEN GO TO 5200 5123 LET B$=STR$ (B-CB): GO SUB 420 5124 IF B>CB THEN PRINT PAPER 1;"CKBOOK BAL.IS UNDER:$";TAB 32-LEN B$; PAPER 7;B$ 5125 IF B>CB THEN LPRINT INVERSE 1;"CKBOOK BAL.IS UNDER:$";TAB 32-LEN B$;B$ 5130 IF B<CB THEN PRINT PAPER 2;"CKBOOK BAL.IS OVER:$";TAB 32-LEN B$; PAPER 7;B$ 5131 IF B<CB THEN LPRINT INVERSE 1;;"CKBOOK BAL.IS OVER:$";TAB 32-LEN B$;B$ 5190 PRINT AT 20,0; PAPER 5;"Above balance should equal bal- ance in your checkbook." 5200 PRINT AT 20,0; PAPER 5;"Balance should equal CKbook Bal." 5210 PRINT PAPER 4;" PRESS ANY KEY TO START AGAIN " 5220 PAUSE 0: CLS : BEEP .2,25: GO TO 2000