TS1000/ZX81
One of the many uses for home computers has been to keep track of the family checking account. Many of the commercially available account manager programs include a routine to update checkbook balances daily, or even by check. I’ve yet to meet the person who carries his home computer everywhere he writes a check! I’m equally sure that after the inital ‘novelty’ wears off, nobody really updates his personal computer of checking transactions on a daily basis.
How about checkbook balancers? I’ve found this one really eases the drudgery of monthly reconciliation between checkbook and bank. I’ve used this one now for well over a year and can honestly say I use it not for any novelty value, but because it really does save time and make the job lots easier. You only need to load it once a month, not every day. That’s what makes it more efficient to use. Any time loading and using a home utility program takes less time than doing the same job manually, the program has justified itself.
Quick-Balance is easy to use in that it presents prompts from within the program for all the information it needs from the user. About all you need to know is that to exit the outstanding checks or unposted deposits routines, you need only to enter ‘0’. The program will then go on to prompt you for corrections, while you check your entries against screen output. Also, if you have a 2040 printer connected and running, the program will output a hardcopy of everything you may ever need to know, should you need that information at a later time. As it stands, Quick-Balance will handle up to 26 outstanding checks and 26 unposted deposits. You could expand this by increasing the DIMentions in lines 115 and 325. These values are currently 64, which is 26 (the number of possible entries) plus 38 (the character code for ‘A’). Thus the lettered labels for checks or deposits progress alphabetically. If you expand on these, be ready for some strange output, as the character codes from 67 thru 111 are not used and will print as question marks. This is not important as long as you don’t need to make corrections later. In that case, you will have to type in ‘CHR$ xx’ to change incorrect entries. Remember to erase the quote marks first, or the error trap in line 225 or 405 will not allow corrections.
Try Quick-Balance. You’ll be pleased with it’s ease of use. TSH
1 PRINT TAB 9;"[inverse QUICK-BALANCE]"
2 LPRINT TAB 9;"[inverse QUICK-BALANCE][illegible]
3 REM ----BY BOB WOISH----
5 LET E=CODE " "
10 LET H=E
20 PRINT ,," INPUT CHECKBOOK BAL:"
25 LPRINT ,," INPUT CHECKBOOK BAL:"
30 INPUT A
40 PRINT "$";A
45 LPRINT "$";A
50 PRINT " INPUT ENDING STATEMENT BAL:"
55 LPRINT " INPUT ENDING STATEMENT BAL:"
70 INPUT B
80 PRINT "$";B
85 LPRINT "$";B
100 PRINT " INPUT DEP. IN CHECKBOOK BUT NOT"
105 LPRINT " INPUT DEP. IN CHECKBOOK BUT NOT"
110 PRINT "ON STATEMENT"
112 LPRINT "ON STATEMENT"
115 DIM D(64)
120 LET C=38
125 LET F=C
130 INPUT D(C)
135 SCROLL
140 IF D(C)=0 THEN GOTO 190
150 PRINT CHR$ C;") $";D(C)
155 LPRINT CHR$ C;") $";D(C)
160 LET E=E+D(C)
170 IF C>51 THEN SCROLL
175 LET C=C+1
180 GOTO 130
190 GOSUB 900
220 IF A$="" THEN GOTO 290
225 IF LEN A$>1 THEN GOTO 190
230 PRINT "[inverse CHANGE:] ";A$
235 LPRINT "[inverse CHANGE:] ";A$
240 LET C=CODE (A$)
250 LET E=E-D(C)
252 SCROLL
255 PRINT " INPUT CORRECT AMT:"
257 LPRINT " INPUT CORRECT AMT:";
260 INPUT D(C)
265 PRINT D(C)
267 LPRINT D(C)
270 LET E=E+D(C)
280 SCROLL
285 GOTO 190
290 CLS
292 PRINT AT 18,0;"DEP.NOT ON STATEMENT=$";E
294 LPRINT AT 18,0;"DEP.NOT ON STATEMENT=$";E
300 SCROLL
315 PRINT " INPUT OUTSTANDING CHECKS:"
317 LPRINT " INPUT OUTSTANDING CHECKS:"
320 SCROLL
322 DIM D(1)
325 DIM G(64)
340 INPUT G(F)
350 IF G(F)=0 THEN GOTO 390
360 PRINT CHR$ F;") $";G(F)
362 LPRINT CHR$ F;") $";G(F)
365 SCROLL
370 LET H=H+G(F)
380 LET F=F+1
385 GOTO 340
390 GOSUB 900
400 IF A$="" THEN GOTO 480
405 IF LEN A$>1 THEN GOTO 390
410 PRINT "[inverse CHANGE]: ";A$
412 LPRINT "[inverse CHANGE]: ";A$
420 SCROLL
430 LET F=CODE (A$)
440 LET H=H-G(F)
450 PRINT " INPUT CORRECT AMT:"
452 LPRINT " INPUT CORRECT AMT:";
455 INPUT G(F)
460 PRINT G(F)
462 LPRINT G(F)
465 LET H=H+G(F)
470 SCROLL
475 GOTO 390
480 CLS
482 PRINT "TOTAL OUTSTANDING CHECKS=$";H
484 LPRINT "TOTAL OUTSTANDING CHECKS=$";H
500 LET I=B+E-H
505 PRINT "YOUR BAL=";A
507 LPRINT "YOUR BAL=";A
520 PRINT "ADJUSTED BANK BAL=";I
522 LPRINT "ADJUSTED BANK BAL=";I
525 IF ABS (A-I)<.0001 THEN GOTO 960
530 PRINT "CHECK FOR ERRORS"
532 LPRINT "CHECK FOR ERRORS"
540 STOP
900 SCROLL
905 PRINT "CHANGES? ( INPUT LETTER)"
907 LPRINT "CHANGES? ( INPUT LETTER)"
910 SCROLL
920 PRINT "IF NONE, HIT ""ENTER"""
922 LPRINT "IF NONE, HIT ""ENTER"""
930 SCROLL
940 INPUT A$
950 RETURN
960 PRINT "[inverse BALANCED]"
962 LPRINT "[inverse BALANCED]"
Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.