[net.sources] check program

llg@we53.UUCP (llg) (01/15/86)

This program is written in MBasic extended and was written on a CP/M
machine.  All data is taken from your check register and entered as
data statements in the program.  Have encluded sample data for format
purposes.  It works! on my little 48K Sorcerer.  Feel free to modify
and expand it for your needs.  I feel it is a versatile little program.
However, as in all other written software, there are no expressed or
implied warantees

It would be great if many of us would submit good programs we have written
to add to the public domain.  Consider this as a contribution from me.
I think the net is great and should be used even more.

		cut here		cut here

-------------------------------------------------------------------------

10 print
20 clear 1000
30 sum=0:tc=0:a=0:sumdep=0:rbal=0:current=0:tnd=0
40 print"		CHECK PROGRAM"
50 print"	----------------------------"
60 print
70 print"	this program will allow you to examine your checking"
80 print"	account in different ways -- select what you would"
90 print"	like to examine and enter the number."
100 print
110 print"              1. account - no more than 13 letters"
120 print"              2. category - no more than 13 letters"
130 print"              3. month"
140 print"              4. check number (search for info on" 
150 print"                 1 or more checks)"
160 print"              5. complete check list"
170 print"              6. terminate program"
180 print"		7. month and category"
182 print"		8. month and account"
184 print"		9. current balance with charges & deposits"
187 print 
190 print"			c$ = check #"
200 print"                      m = month #"
210 print"                      d = date"
220 print"			a$ = account name(13)"
230 print"                      k$ = categaory name(13)"
240 print"			a = $ amount(####.##)"
250 print
260 print"   please use and spell following `categories' exactly:"
270 print"   food, misc, medical, mortgage, clothes, fun, car, etc."
280 print
290 print
300 print"   please use and spell following `account names' exactly:"
310 print"   kmart, fireside, national, cash, avco, visa, krogers"
320 print"   dierbergs, shoneys,(cash or check)"
330 input n
340 on n goto 370,600,690,790,900,350,480,1010,1100
350 print:print:print:print "program terminated": end
370 input "enter name of account";p$
390 read c$,m,d,a$,k$,a
395 if c$="0" then gosub 1084
400 if p$=a$ then gosub 1080
450 goto 390
460 print

470 print
480 input "enter `month' and `category' you wish to examine"; e,p$
500 read c$,m,d,a$,k$,a
505 if c$="0" then gosub 1084
510 if p$=k$ and e=m then gosub 1080
520 goto 500
530 print

600 input "enter `category' you wih to examine"; p$
610 read c$,m,d,a$,k$,a
615 if c$="0" then gosub 1084
620 if p$=k$ then gosub 1080
630 goto 610
640 print

690 input "enter month (by number)"; e
700 read c$,m,d,a$,k$,a
705 if c$="0" then gosub 1084
710 if e=m then gosub 1080
720 goto 700

730 print
740 print
790 input "enter check number"; f$
800 read c$,m,d,a$,k$,a
810 if f$=c$ then gosub 1080
815 if f$=c$ then goto 830
820 goto 800

830 input "do you want info on another check? use Y or N"; p$
840 if p$="Y" then goto 790
845 if p$="N" then goto 30
850 if c$="0" goto 30

870 print
880 print
900 input "to list completely hit `return'"; p$
910 read c$,m,d,a$,k$,a
915 if c$="0" then gosub 1084
920 gosub 1080
930 goto 910

940 print
950 print
1010 input "enter `month' and `account' you wish to examine"; e,p$
1020 read c$,m,d,a$,k$,a
1025 if c$="0" then gosub 1084
1030 if e=m and p$=a$ then gosub 1080
1040 goto 1020
1050 print
1060 print
1070 print
1080 if c$="..." then return
1081 print c$,m;"/";d,a$,k$,using "####,.##"; a
1082 sum=sum+a: tc=tc+1
1083 return

1084 print"---------------------------------------------------------------"
1086 print tc;"checks",,"total",spc(14)using "####,.##"; sum
1088 return

1092 print
1094 c$="0":k$="0":a=0:sumdep=0:current=0:bnkchg=0:rbal=0:tnt=0:sum=0
1100 print"		CURRENT BALANCE SECTION"
1110 print"	---------------------------------------"
1120 print
1130 print"		Use This Template"
1140 print
1150 print"	c$, m; `/'; d, a$, k$, a"
1160 print"    ...		  +++(deposit)"
1170 print"    ...		  ---(bank charges)"
1180 print
1190 print"if you want detail printing enter `dp' or `return'"
1200 input"for totals only"; dp$
1205 k$="0": c$="0"
1210 read c$,m,d,a$,k$,a
1215 if c$="0" goto 1360
1220 if k$="---" then let bnkchg=bnkchg+a: let bc=bc+1
1260 if k$="+++" then let sumdep=sumdep+a:let rbal=rbal+a:let tnd=tnd+1
1290 if c$ <> "..." then let sumchk=sumchk+a:let tc=tc+1:let rbal=rbal-a
1300 let current = rbal - bnkchg
1325 if dp$="dp" and c$="..." then gosub 1340
1330 goto 1205
1335 print
1340print c$,m;"/";d,a$,k$,using "####,.##"; a
1345 return

1350 print 
1360 print"---------------------------------------------------------------"
1370 print"total deposits";spc(25)tnd,using "#####,.##"; sumdep
1380 print"total checks";spc(26)tc,using"#####,.##"; sumchk
1400 print"gross balance";spc(43)using"#####,.##"; rbal
1410 print"total bank charges";spc(21)bc,using"#####,.##"; bnkchg
1420 print"---------------------------------------------------------------"
1430 print
1440 print"net balance";spc(45)using"#####,.##"; current
1450 end

1452 data ...,1,5,check,+++,1000.00
1453 data ...,1,7,cash,+++,500.00
1454 data ...,1,8,cash,---,100.00
1455 data ...,1,9,cash,---,200.00
1456 data ...,3,10,cash,---,100.00
1457 data ...,3,10,check,+++,1200.00
1458 data ...,4,30,check,+++,10000.00
1460 data 705,1,1,straw hat,fastfood,24.25
1470 data 706,1,2,cash,misc,25.00
1480 data 707,1,4,builders,house,20.61
1490 data 708,1,4,nob hill,food,63.15
1500 data 709,1,9,fireside,car,452.70
1510 data 710,1,10,singhal,2ndmort,103.43
1512 data ...,1,10,check,+++,1000.00
1514 data ...,1,12,cash,---,50.00
1520 data 711,1,11,miracle,car,8.00
1530 data 712,1,14,safeway,food,28.51
1540 data 713,1,14,kmart,misc,17.74
1550 data 714,1,18,contel,phone,158.60
1560 data 715,1,26,finserv,misc,13.28
1600 data 0,0,0,dummy,dummy,0
1620 end