Source Code
1 PRINT AT 9,6;"%D%O% %N%O%T% %H%I%T% %-%R%U%N%-"
2 PRINT AT 11,3;"%Y%O%U% %H%A%V%E% %L%O%S%T% %D%A%T%A% %S%I%N%C%E"
3 PRINT AT 13,4;"%L%O%A%D%I%N%G% %F%R%O%M% %C%A%S%S%E%T%T%E"
4 PRINT AT 16,3;"%R%E%L%O%A%D% %A%N%D% %U%S%E% %-%G%O%T%O% %5%0%-"
5 STOP
10 LET F=91
11 DIM T$(F,10)
12 DIM D$(F,8)
13 DIM A(F)
14 DIM E(F)
15 DIM L(F)
16 DIM N(F)
17 DIM Q$(15,15)
18 REM %I%F% %C%H%A%N%G%E% %1%7% %T%H%E%N% %M%U%S%T% % % %A%L%S%O% %C%H%A%N%G%E% %4%9%4%0
20 PRINT AT 4,4;"%C%H%E%C%K%B%O%O%K%,% %I%N%C%O%M%E% %T%A%X%,"
21 PRINT AT 7,5;"%A%N%D% %B%U%D%G%E%T% %O%R%G%A%N%I%Z%E%R"
25 PRINT AT 11,8;"COPYRIGHT 1982"
27 PRINT AT 13,13;"BY"
28 PRINT AT 15,10;"AL BANDY"
29 PRINT
30 PRINT " %Z%X%-%P%A%N%D%I%N%G%,%L%T%D%. P.O.BOX 25"
31 PRINT TAB 8;"NEWTON,NC 28658"
32 STOP
190 FAST
200 CLS
210 PRINT AT 4,13;"%M%E%N%U"
260 PRINT AT 6,0;"1-ESTABLISH LEDGER COLUMN TITLES2-ENTER CHECKS OR DEPOSITS 3-TOTALS"
263 PRINT "4-LIST CHECKS BY LINE NUMBERS 5-LIST CHECKS BY CHECK NUMBERS 6-LIST CHECKS BY -TO WHOM- 7-LIST CHECKS BY COLUMN TOTALS 8-BALANCE CHECKBOOK"
269 PRINT "9-CORRECT CHECKS OR DEPOSITS 0-SAVE ON TO TAPE OR %E%N%D"
290 PRINT AT 17,0;"%W%H%I%C%H% %F%U%N%C%T%I%O%N% %D%O% %Y%O%U% %N%E%E%D% %? (ENTER BY NUMBER)"
310 GOSUB 4500
320 IF U$="1" THEN GOTO 500
330 IF U$="2" THEN GOTO 600
340 IF U$="3" THEN GOTO 705
350 IF U$="4" THEN GOTO 3600
360 IF U$="5" THEN GOTO 3800
370 IF U$="6" THEN GOTO 3400
380 IF U$="7" THEN GOTO 4100
390 IF U$="8" THEN GOTO 1000
400 IF U$="9" THEN GOTO 1300
410 IF U$="0" THEN GOTO 1500
430 GOTO 200
500 CLS
520 PRINT "THIS PROGRAM ALLOWS FOR CHECKS AND DEPOSITS TO BE LISTED UNDER A LEDGER COLUMN,SUCH AS HOME EXPENSES,CONTRIBUTIONS,ETC."
525 PRINT "%H%O%W% %M%A%N%Y% %C%O%L%U%M%N%S% %W%I%L%L% %Y%O%U% %N%E%E%D% %? %M%A%X%.%O%F% %1%5"
528 INPUT R
530 FOR I=1 TO R
533 CLS
536 IF Q$(I)<>" " THEN GOTO 555
540 PRINT "WHAT IS THE TITLE OF"
541 PRINT " LEDGER LINE ";I;
543 INPUT Q$(I)
550 NEXT I
552 GOTO 200
555 PRINT "LEDGER LINE ";I
556 PRINT " IS ALREADY FOR ";Q$(I)
560 PRINT "%D%O% %Y%O%U% %W%A%N%T% %T%O% %C%H%A%N%G%E% %I%T%(%Y% %O%R% %N%)"
565 GOSUB 4500
570 IF U$="Y" THEN GOTO 540
575 NEXT I
580 GOTO 200
600 CLS
620 PRINT "THIS PROGRAM ENTERS CHECKS OR DEPOSITS INTO MEMORY. TO ENTER DEPOSITS,JUST TYPE -DEPOSIT- WHEN ASKED -TO WHOM-."
640 LET J=0
650 LET J=J+1
655 IF T$(J)<>" " THEN GOTO 650
658 LET J=J-1
660 IF J=0 THEN GOTO 667
662 GOSUB 4700
663 IF J=F-2 THEN PRINT "%T%H%I%S% %I%S% %T%H%E% %L%A%S%T% %C%H%E%C%K%,% %T%H%E %M%E%M%O%R%Y% %I%S% %F%U%L%L%.% %S%E%E% %I%N%S%R%U%C%T%I%O%N%S %F%O%R% %C%L%O%S%I%N%G% %P%R%O%C%E%D%U%R%E%."
665 GOSUB 4600
667 PRINT
668 LET J=J+1
670 GOSUB 2200
672 CLS
674 GOSUB 2100
676 PRINT
680 PRINT "%E%N%T%E%R% %A%N%O%T%H%E%R% %L%I%N%E% %?%(%Y% %O%R% %N%)"
690 GOSUB 4500
700 IF U$="Y" THEN GOTO 650
705 CLS
710 GOSUB 2400
715 PRINT
720 GOSUB 2500
725 LET P=Y-Z
728 PRINT
730 PRINT "--BALANCE=";
735 GOSUB 4800
740 GOTO 4400
\n1000 CLS
\n1020 PRINT "THIS PORTION OF THE PROGRAM WILL AID IN BALANCING YOUR CHECKBOOK TO MATCH THE STATEMENT FROM THE BANK."
\n1030 GOSUB 3000
\n1050 GOSUB 3200
\n1070 GOSUB 2600
\n1075 PRINT
\n1080 GOSUB 2700
\n1082 PRINT
\n1085 LET P=Y-Z
\n1090 PRINT "YOUR STATEMENT"
\n1091 PRINT " SHOULD READ=";
\n1100 GOSUB 4800
\n1105 GOTO 4400
\n1300 CLS
\n1320 PRINT "THIS IS A PROGRAM TO CORRECT CHECKS OR DEPOSITS."
\n1340 PRINT
\n1350 PRINT "%W%H%I%C%H% %L%I%N%E% %N%U%M%B%E%R% %I%S% %I%N%C%O%R%R%E%C%T% %?"
\n1355 INPUT J
\n1360 CLS
\n1361 PRINT "%W%H%I%C%H% %D%A%T%A% %I%S% %I%N%C%O%R%R%E%C%T% %(%B%Y% %N%O%.%)"
\n1363 PRINT "LINE ";J
\n1365 PRINT "1-%T%O% %W%H%O%M-";T$(J)
\n1366 PRINT "2-%C%H%E%C%K% %N%O%.-";N(J)
\n1367 PRINT "3-%D%A%T%E-";D$(J)
\n1368 LET P=A(J)
\n1370 PRINT "4-%A%M%O%U%N%T-";
\n1372 GOSUB 4800
\n1373 PRINT
\n1382 IF L(J)=0 THEN LET L(J)=1
\n1384 PRINT "5-%L%E%D%G%E%R-";L(J);" %F%O%R ";Q$(L(J))
\n1385 IF E(J)=1 THEN PRINT "6-%I%S% %I%T-RECORDED ?"
\n1386 IF E(J)<>1 THEN PRINT "6-%I%S% %I%T-OUTSTANDING ?"
\n1389 PRINT "7-NONE ;RETURN TO MENU"
\n1390 GOSUB 4500
\n1395 PRINT
\n1396 PRINT "%E%N%T%E%R% %T%H%E% %C%O%R%R%E%C%T% %D%A%T%A"
\n1400 IF U$="1" THEN INPUT T$(J)
\n1401 IF U$="2" THEN INPUT N(J)
\n1402 IF U$="3" THEN INPUT D$(J)
\n1403 IF U$="4" THEN INPUT A(J)
\n1405 IF U$="5" THEN INPUT L(J)
\n1406 IF U$="6" THEN GOTO 1491
\n1408 IF U$="7" THEN GOTO 200
\n1410 GOTO 1360
\n1491 PRINT "%I%S% %T%H%I%S% %L%I%N%E% %O%U%T%S%T%A%N%D%I%N%G% %?"
\n1492 GOSUB 4500
\n1493 IF U$="N" THEN LET E(J)=1
\n1494 IF U$="Y" THEN LET E(J)=0
\n1495 GOTO 1360
\n1500 CLS
\n1510 PRINT "WHICH FUNCTION DO YOU NEED ?"
\n1520 PRINT " 1-RETURN TO MENU"
\n1525 PRINT " 2-SAVE ON TO CASSETTE"
\n1530 PRINT " 3-END PROGRAM"
\n1540 GOSUB 4500
\n1550 IF U$="1" THEN GOTO 200
\n1551 IF U$="2" THEN GOTO 1570
\n1552 IF U$="3" THEN GOTO 1630
\n1560 GOTO 1500
\n1570 PRINT "THE PROGRAM AND DATA WILL BE SAVED TOGETHER ON A CASSETTE. THE DATE WILL BE USED AS THE NAME TO PREVENT CONFUSION AS MORE CHECKS ARE ADDED AND STORED."
\n1575 PRINT "SAVING WILL BEGIN AS DATE IS ENTERED."
\n1580 PRINT
\n1590 PRINT "%W%H%A%T% %I%S% %T%O%D%A%Y%S% %D%A%T%E% %?"
\n1600 INPUT C$
\n1610 SAVE C$
\n1630 PRINT "%T%H%E% %P%R%O%G%R%A%M% %H%A%S% %E%N%D%E%D%."
\n1640 PRINT
\n1650 PRINT "TYPE %G%O%T%O% %5%0 IF NEED TO CONTINUE"
\n1660 STOP
\n2100 CLS
\n2101 PRINT AT 5,3;"LINE ";J
\n2102 IF T$(J)<>"DEPOSIT " THEN PRINT " CHECK NO.";N(J)
\n2105 IF T$(J)<>"DEPOSIT " THEN PRINT "TO- ";
\n2108 PRINT T$(J)
\n2110 PRINT "DATE-";D$(J)
\n2115 LET P=A(J)
\n2120 GOSUB 4800
\n2122 PRINT
\n2123 IF L(J)=0 THEN RETURN
\n2125 PRINT "LEDGER LINE ";L(J);" ";Q$(L(J))
\n2130 IF E(J)=0 THEN PRINT "---OUTSTANDING"
\n2140 IF E(J)=1 THEN PRINT "---RETURNED"
\n2147 RETURN
\n2150 PRINT AT 21,0;"%P%R%E%S%S% %-%E%N%T%E%R%-% %T%O% %C%O%N%T%.% %L%I%S%T%I%N%G"
\n2155 INPUT H$
\n2160 CLS
\n2170 RETURN
\n2200 PRINT "LINE NUMBER ";J
\n2205 PRINT "TO WHOM ? ";
\n2210 INPUT T$(J)
\n2220 PRINT T$(J)
\n2230 IF T$(J)="DEPOSIT " THEN GOTO 2260
\n2240 PRINT "CHECK NUMBER ? ";
\n2250 INPUT N(J)
\n2255 PRINT N(J)
\n2260 PRINT "WHAT IS THE DATE ? ";
\n2270 INPUT D$(J)
\n2275 PRINT D$(J)
\n2280 PRINT "WRITTEN FOR HOW MUCH ?=";
\n2290 INPUT A(J)
\n2310 CLS
\n2315 GOSUB 4700
\n2320 GOSUB 4600
\n2322 PRINT
\n2324 GOSUB 4900
\n2326 PRINT
\n2328 PRINT "WHICH LEDGER LINE ?"
\n2330 INPUT L(J)
\n2340 RETURN
\n2400 LET J=0
\n2420 LET Z=0
\n2430 LET J=J+1
\n2440 IF T$(J)=" " THEN GOTO 2475
\n2450 IF T$(J)="DEPOSIT " THEN GOTO 2430
\n2460 LET Z=Z+A(J)
\n2470 GOTO 2430
\n2475 LET P=Z
\n2480 PRINT "TOTAL OF CHECKS=";
\n2485 GOSUB 4800
\n2490 RETURN
\n2500 LET J=0
\n2520 LET Y=0
\n2530 LET J=J+1
\n2540 IF T$(J)=" " THEN GOTO 2575
\n2550 IF T$(J)<>"DEPOSIT " THEN GOTO 2530
\n2560 LET Y=Y+A(J)
\n2570 GOTO 2530
\n2575 LET P=Y
\n2580 PRINT "TOTAL OF DEPOSITS=";
\n2585 GOSUB 4800
\n2590 RETURN
\n2600 LET Z=0
\n2620 LET J=0
\n2630 LET J=J+1
\n2640 IF T$(J)=" " THEN GOTO 2685
\n2650 IF T$(J)="DEPOSIT " THEN GOTO 2630
\n2660 IF E(J)=0 THEN GOTO 2630
\n2670 LET Z=Z+A(J)
\n2680 GOTO 2630
\n2685 LET P=Z
\n2690 PRINT "TOTAL OF RECORDED"
\n2691 PRINT " CHECKS=";
\n2692 GOSUB 4800
\n2695 RETURN
\n2700 LET Y=0
\n2720 LET J=0
\n2730 LET J=J+1
\n2740 IF T$(J)=" " THEN GOTO 2785
\n2750 IF T$(J)<>"DEPOSIT " THEN GOTO 2730
\n2760 IF E(J)=0 THEN GOTO 2730
\n2770 LET Y=Y+A(J)
\n2780 GOTO 2730
\n2785 LET P=Y
\n2790 PRINT "TOTAL OF RECORDED"
\n2791 PRINT " DEPOSITS=";
\n2792 GOSUB 4800
\n2795 RETURN
\n3000 PRINT "%E%N%T%E%R% %T%H%E% %C%H%E%C%K% %N%U%M%B%E%R%S% %R%E%T%U%R%N%E%D %E%N%T%E%R% %-%0%-% %W%H%E%N% %F%I%N%I%S%H%E%D%."
\n3030 INPUT I
\n3035 PRINT I;",";
\n3040 IF I=0 THEN RETURN
\n3050 LET J=0
\n3060 LET J=J+1
\n3070 IF T$(J)=" " THEN GOTO 3110
\n3080 IF N(J)=I THEN LET E(J)=1
\n3090 IF N(J)=I THEN GOTO 3030
\n3100 GOTO 3060
\n3110 PRINT
\n3115 PRINT "THAT CHECK HAS NOT BEEN WRITTEN."
\n3120 GOTO 3030
\n3200 CLS
\n3210 PRINT "%N%O%W% %T%O% %N%O%T%E% %D%E%P%O%S%I%T%S%."
\n3220 LET J=0
\n3230 LET J=J+1
\n3240 IF T$(J)=" " THEN GOTO 3320
\n3250 IF T$(J)<>"DEPOSIT " THEN GOTO 3230
\n3260 IF E(J)=1 THEN GOTO 3230
\n3270 GOSUB 2100
\n3280 PRINT AT 20,0;"%H%A%S% %T%H%I%S% %D%E%P%O%S%I%T% %B%E%E%N% %C%R%E%D%I%T%E%D% %?"
\n3290 GOSUB 4500
\n3300 IF U$="Y" THEN LET E(J)=1
\n3310 GOTO 3230
\n3320 CLS
\n3330 PRINT "%T%H%E% %D%E%P%O%S%I%T%S% %A%R%E% %C%O%M%P%L%E%T%E%D%."
\n3340 RETURN
\n3400 CLS
\n3410 PRINT "THIS WILL LIST CHECKS %B%Y% %N%A%M%E %T%O% %W%H%O%M% %W%E%R%E% %T%H%E% %C%H%E%C%K%S% %W%R%I%T%T%E%N%?"
\n3430 INPUT I$
\n3431 IF LEN I$=10 THEN GOTO 3435
\n3433 LET I$=I$+" "
\n3434 GOTO 3431
\n3435 PRINT I$
\n3440 LET J=0
\n3445 LET H=0
\n3450 LET Z=0
\n3460 LET J=J+1
\n3470 IF T$(J)=" " THEN GOTO 3522
\n3480 IF I$=T$(J) THEN GOTO 3500
\n3490 GOTO 3460
\n3500 GOSUB 2100
\n3502 GOSUB 2150
\n3505 LET H=1
\n3510 LET Z=Z+A(J)
\n3520 GOTO 3460
\n3522 IF H<>1 THEN PRINT "NO CHECKS TO ";I$
\n3525 IF H<>1 THEN GOTO 4400
\n3527 LET P=Z
\n3530 PRINT "TOTAL WRITTEN TO ";I$
\n3532 PRINT "=";
\n3535 GOSUB 4800
\n3540 GOTO 4400
\n3600 CLS
\n3620 PRINT "THIS WILL LIST %B%Y% %L%I%N%E% %N%U%M%B%E%R%."
\n3630 PRINT "START WITH WHICH LINE NO. ? ";
\n3640 INPUT K
\n3645 PRINT K
\n3650 PRINT "END WITH WHICH LINE NO. ? ";
\n3660 INPUT I
\n3665 PRINT I
\n3666 IF I-K<0 THEN GOTO 3600
\n3670 LET Z=0
\n3680 FOR J=K TO I
\n3690 GOSUB 2100
\n3692 GOSUB 2150
\n3695 LET Z=Z+A(J)
\n3697 IF T$(J)="DEPOSIT " THEN LET Z=Z-(2*A(J))
\n3710 NEXT J
\n3720 PRINT "TOTAL BETWEEN LINES ";K;" AND ";I
\n3725 LET P=-Z
\n3730 PRINT "--IS ";
\n3735 GOSUB 4800
\n3740 GOTO 4400
\n3800 CLS
\n3810 PRINT "THIS WILL LIST %B%Y% %C%H%E%C%K% %N%U%M%B%E%R%. START WITH WHICH CHECK NUMBER?"
\n3830 INPUT K
\n3835 PRINT K
\n3840 PRINT "END WITH WHICH CHECK NO. ? ";
\n3850 INPUT I
\n3852 PRINT I
\n3854 IF I-K<0 THEN GOTO 3800
\n3860 LET Z=0
\n3862 LET G=0
\n3865 GOSUB 4700
\n3870 FOR H=K TO I
\n3880 LET J=0
\n3890 LET J=J+1
\n3900 IF T$(J)=" " THEN GOTO 3930
\n3910 IF N(J)=H THEN GOTO 3955
\n3920 GOTO 3890
\n3930 PRINT "CHECK NO. ";H;" NOT WRITTEN"
\n3940 GOTO 3957
\n3950 GOTO 3990
\n3955 GOSUB 4600
\n3956 LET Z=Z+A(J)
\n3957 LET G=G+1
\n3958 IF G<17 THEN GOTO 3980
\n3960 GOSUB 2150
\n3962 LET G=0
\n3964 CLS
\n3966 GOSUB 4700
\n3980 NEXT H
\n3990 PRINT "TOTAL BETWEEN NO. ";K;" AND ";I
\n3995 LET P=Z
\n4000 PRINT "--IS ";
\n4005 GOSUB 4800
\n4010 GOTO 4400
\n4100 CLS
\n4130 PRINT TAB 9;"%L%E%D%G%E%R% %C%O%L%U%M%N%S"
\n4140 GOSUB 4900
\n4170 PRINT
\n4180 PRINT "WHICH COLUMN NO. DO YOU NEED ?";
\n4190 INPUT K
\n4195 PRINT K
\n4200 LET Z=0
\n4205 LET J=0
\n4210 CLS
\n4215 GOSUB 4700
\n4225 LET G=0
\n4230 LET J=J+1
\n4240 IF T$(J)=" " THEN GOTO 4300
\n4250 IF L(J)=K THEN GOTO 4270
\n4260 GOTO 4230
\n4270 GOSUB 4600
\n4273 LET G=G+1
\n4275 IF G>17 THEN GOSUB 2150
\n4278 IF G>17 THEN GOTO 4210
\n4280 LET Z=Z+A(J)
\n4290 GOTO 4230
\n4304 PRINT "TOTAL OF COLUMN NUMBER ";K
\n4305 LET P=Z
\n4310 GOSUB 4800
\n4315 PRINT " FOR ";Q$(K)
\n4320 GOTO 4400
\n4400 PRINT AT 21,1;"%P%R%E%S%S% %E%N%T%E%R% %T%O% %R%E%T%U%R%N% %T%O% %M%E%N%U"
\n4430 INPUT I$
\n4440 GOTO 200
\n4500 SLOW
\n4505 IF INKEY$<>"" THEN GOTO 4505
\n4510 IF INKEY$="" THEN GOTO 4510
\n4520 LET U$=INKEY$
\n4525 FAST
\n4530 RETURN
\n4600 PRINT J;
\n4610 PRINT TAB 4;N(J);
\n4612 LET P=A(J)
\n4615 PRINT TAB 9;
\n4617 GOSUB 4800
\n4620 PRINT TAB 18;T$(J)
\n4630 RETURN
\n4700 CLS
\n4710 PRINT "%L%I%N %C%H%E%C%K %A%M%T%. %T%O% %W%H%O%M"
\n4720 PRINT "%N%O%. %N%O%."
\n4730 RETURN
\n4800 LET P=(INT ((P*100)+.5))/100
\n4805 IF P=INT (P) THEN PRINT "$";P;".00";
\n4810 IF P=INT (P) THEN RETURN
\n4820 IF (10*P)=INT (10*P) THEN PRINT "$";P;"0";
\n4830 IF (10*P)=INT (10*P) THEN RETURN
\n4840 PRINT "$";P;
\n4850 RETURN
\n4900 LET I=1
\n4940 IF Q$(I)=" " THEN RETURN
\n4950 PRINT I;"-";Q$(I)
\n4955 IF I=15 THEN RETURN
\n4960 LET I=I+1
\n4965 GOTO 4940