A computer checkbook balancing program.
Content
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