home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / cpmug / cpmug087.ark / ESENTRY.BAS < prev    next >
Encoding:
BASIC Source File  |  1986-10-20  |  10.5 KB  |  312 lines

  1.      rem This is the California State Tax Table Entry Program
  2.  
  3. %INCLUDE ALL.BAS
  4.      dim G(11,5),b(11,5),c(11,5),d(11,5),e(11,5),f(20)
  5.      dim n(2,20),k$(3,20)
  6.      l$="$##,###.##":u$=".###":r$="###.##  "
  7.      z5$="b:es"
  8.      RESTORE
  9. 540 K$(3,1)="1 - ENTER STATE TABLES":K$(3,2)="2 - EXAMINE STATE TABLES"
  10. 550 K$(3,3)="3 - MODIFY STATE TABLES"
  11. 570 K$(3,4)="4 - CREATE NEW FILE":K$(3,5)="5 - CLEAR EXISTING FILE"
  12. 590 K$(3,6)="6 - LIST STATE TABLES":K$(3,7)="7 - FINISHED"
  13.      print clear$:print
  14. 1100 K$(1,1)="AT LEAST":K$(1,2)="BUT NOT OVER"
  15. 1110 K$(1,3)="BASE":K$(1,4)="%":K$(1,5)="OF EXCESS OVER"
  16. 1200 K$(2,1)="SINGLE TAXPAYER ANNUAL TABLES"
  17. 1210 K$(2,2)="MARRIED TAXPAYER ANNUAL TABLE"
  18. 1220 K$(2,3)="HEAD OF HOUSEHOLD ANNUAL TABLE"
  19. 1230 K$(2,4)="CALIFORNIA TAX CREDIT TABLE"
  20. 1250 N(1,1)=12:N(1,2)=12:N(1,3)=12:N(1,4)=12:N(1,5)=12
  21.      if end #1 then 6000
  22. 1500 open z5$ as 1
  23.      close 1
  24. 1510 Z1=1:Z2=1
  25. 1600 PRINT clear$
  26. 1605 PRINT
  27. 1650 PRINT "THIS IS A LIST OF OPERATIONS."
  28. 1655 PRINT
  29. 1660 FOR Z=1 TO 7:PRINT K$(3,Z):NEXT Z:PRINT
  30. 1665 PRINT "INDICATE WHAT YOU WOULD LIKE TO DO BY TYPING"
  31. 1670 PRINT "THE CORRESPONDING NUMBER."
  32. 1675 PRINT
  33. 1680 INPUT Z
  34. 1685 ON Z GOSUB 2000,3000,4000,6000,7000,9000,10000
  35. 1690 FOR X=1 TO 11:FOR Y=1 TO 5:G(X,Y)=0:B(X,Y)=0:NEXT Y:NEXT X
  36. 1695 FOR X=1 TO 11:FOR Y=1 TO 5:C(X,Y)=0:D(X,Y)=0:E(X,Y)=0:NEXT Y:NEXT X
  37. 1696 FOR Z=1 TO 20:F(Z)=0: NEXT Z
  38. 1705 GOTO 1600
  39. 2000 GOSUB 20000
  40. 2010 GOSUB 30000
  41. 2105 PRINT clear$:print
  42. 2110 GOSUB 40000
  43. 2225 INPUT "ANY MORE CHANGES";line temp$
  44. 2230 IF left$(temp$,1)="y" OR left$(temp$,1)="Y" THEN 2105
  45. 2235 PRINT
  46. 2240 INPUT "IS RECORD TO BE ENTERED";line temp$
  47. 2245 PRINT
  48. 2250 IF left$(temp$,1)="y" OR left$(temp$,1)="Y" THEN 2280
  49. 2255 IF left$(temp$,1)<>"n" AND left$(temp$,1)<>"N" THEN 2235
  50. 2260 PRINT clear$:PRINT
  51. 2270 PRINT "*** RECORD NOT ENTERED ***":PRINT:PRINT
  52. 2275 FOR Z=1 TO 200:NEXT Z:RETURN
  53. 2280 open z5$ as 1
  54.      for x=1 to 11
  55.      print #1;c(x,1),c(x,2),c(x,3),c(x,4),c(x,5)
  56.      print #1;d(x,1),d(x,2),d(x,3),d(x,4),d(x,5)
  57.      print #1;e(x,1),e(x,2),e(x,3),e(x,4),e(x,5)
  58.      next x
  59.      for x=1 to 16
  60.      print #1;f(x)
  61.      next x
  62.      close 1
  63. 2995 RETURN
  64. 3000 PRINT clear$:PRINT
  65. 3002 open z5$ as 1
  66.      for x=1 to 11
  67.      read #1;c(x,1),c(x,2),c(x,3),c(x,4),c(x,5)
  68.      read #1;d(x,1),d(x,2),d(x,3),d(x,4),d(x,5)
  69.      read #1;e(x,1),e(x,2),e(x,3),e(x,4),e(x,5)
  70.      next x
  71.      for x=1 to 16
  72.      read #1;f(x)
  73.      next x
  74.      close 1
  75. 3400 PRINT clear$
  76. 3506 PRINT K$(2,1)
  77. 3508 PRINT "ROW";TAB(6);K$(1,1);TAB(21);K$(1,2);TAB(36);K$(1,3);TAB(51);
  78. 3510 PRINT K$(1,4);TAB(61);K$(1,5)
  79. 3512 FOR X=1 TO 11
  80. 3516 print x;tab(6);:print using l$;c(x,1);tab(21);c(x,2);tab(36);c(x,3);
  81.      print using u$;tab(51);c(x,4);:print using l$;tab(61);c(x,5)
  82. 3520 NEXT X
  83. 3525 INPUT "FOR NEXT CHART TYPE RETURN.";line temp$
  84. 3600 PRINT clear$:PRINT:PRINT K$(2,2)
  85. 3608 PRINT "ROW";TAB(6);K$(1,1);TAB(21);K$(1,2);TAB(36);K$(1,3);TAB(51);
  86. 3610 PRINT K$(1,4);TAB(61);K$(1,5)
  87. 3612 FOR X=1 TO 11
  88. 3616 print x;tab(6);:print using l$;d(x,1);tab(21);d(x,2);tab(36);d(x,3);
  89.      print using u$;tab(51);d(x,4);:print using l$;tab(61);d(x,5)
  90. 3620 NEXT X
  91. 3625 INPUT "FOR NEXT CHART TYPE RETURN.";line temp$
  92. 3700 PRINT clear$:PRINT:PRINT K$(2,3)
  93. 3708 PRINT "ROW";TAB(6);K$(1,1);TAB(21);K$(1,2);TAB(36);K$(1,3);TAB(51);
  94. 3710 PRINT K$(1,4);TAB(61);K$(1,5)
  95. 3712 FOR X=1 TO 11
  96. 3716 print x;tab(6);:print using l$;e(x,1);tab(21);e(x,2);tab(36);e(x,3);
  97.      print using u$;tab(51);e(x,4);:print using l$;tab(61);e(x,5)
  98. 3720 NEXT X
  99. 3725 INPUT "FOR NEXT CHART TYPE RETURN.";line temp$
  100. 3800 PRINT clear$:PRINT:PRINT K$(2,4):PRINT
  101. 3820 FOR Z=1 TO 7
  102. 3830 print using r$;f(z);
  103. 3840 NEXT Z
  104. 3850 print using r$;f(8)
  105. 3860 FOR Z=9 TO 15
  106. 3870 print using r$;f(z);
  107. 3880 NEXT Z
  108. 3890 print using r$;f(16)
  109. 3895 PRINT
  110. 3950 INPUT "WHEN FINISHED TYPE RETURN.";line temp$
  111. 3995 RETURN
  112. 4000 PRINT clear$:PRINT
  113. 4002 open z5$ as 1
  114.      for x=1 to 11
  115.      read #1;c(x,1),c(x,2),c(x,3),c(x,4),c(x,5)
  116.      read #1;d(x,1),d(x,2),d(x,3),d(x,4),d(x,5)
  117.      read #1;e(x,1),e(x,2),e(x,3),e(x,4),e(x,5)
  118.      next x
  119.      for x=1 to 16
  120.      read #1;f(x)
  121.      next x
  122.      close 1
  123. 4995 GOTO 2105
  124. 6000 PRINT clear$:PRINT
  125. 6005 PRINT "IF YOU HAVE ARRIVED HERE, AND HAVE A STATE TABLES FILE"
  126. 6010 PRINT "ALREADY ON A DISK, YOU SHOULD INSTALL THAT DISK THEN"
  127. 6015 PRINT "TYPE THE LETTER C FOLLOWED BY A RETURN TO CONTINUE."
  128. 6020 PRINT
  129. 6025 PRINT "IF YOU WISH TO CREATE A NEW FILE, TYPE THE LETTER N"
  130. 6030 PRINT "FOLLOWED BY RETURN.":PRINT
  131. 6035 INPUT line temp$
  132. 6040 IF temp$="c" OR temp$="C" THEN INITIALIZE:GOTO 1500
  133. 6045 PRINT clear$:PRINT
  134. 6065 create z5$ as 1
  135.      for x=1 to 11
  136.      print #1;c(x,1),c(x,2),c(x,3),c(x,4),c(x,5)
  137.      print #1;d(x,1),d(x,2),d(x,3),d(x,4),d(x,5)
  138.      print #1;e(x,1),e(x,2),e(x,3),e(x,4),e(x,5)
  139.      next x
  140.      for x=1 to 16
  141.      print #1;f(x)
  142.      next x
  143.      close 1
  144. 6495 PRINT clear$:PRINT
  145. 6500 PRINT "STATE TABLES FILE CREATED AND CLEARED.":PRINT
  146. 6510 PRINT "TO CONTINUE, TYPE RETURN.":INPUT line temp$
  147. 6515 GOTO 1600
  148. 7000 INPUT "ARE YOU SURE !!! (YES OR NO)";line temp$
  149. 7002 IF temp$<>"YES" THEN RETURN
  150.      for x=1 to 11:for y=1 to 5:c(x,y)=0:d(x,y)=0:e(x,y)=0:next y:next x
  151.      for z=1 to 16:f(z)=0:next z
  152. 7004 open z5$ as 1
  153.      for x=1 to 11
  154.      print #1;c(x,1),c(x,2),c(x,3),c(x,4),c(x,5)
  155.      print #1;d(x,1),d(x,2),d(x,3),d(x,4),d(x,5)
  156.      print #1;e(x,1),e(x,2),e(x,3),e(x,4),e(x,5)
  157.      next x
  158.      for x=1 to 16
  159.      print #1;f(x)
  160.      next x
  161.      close 1
  162. 7935 PRINT clear$:PRINT
  163. 7940 PRINT "STATE TABLES FILE CLEARED!":PRINT
  164. 7945 PRINT "TO CONTINUE, TYPE RETURN."
  165. 7950 INPUT line temp$
  166. 7960 RETURN
  167. 9000 PRINT clear$:PRINT
  168.      print "Listing":print
  169.      lprinter
  170. 9002 open z5$ as 1
  171.      for x=1 to 11
  172.      read #1;c(x,1),c(x,2),c(x,3),c(x,4),c(x,5)
  173.      read #1;d(x,1),d(x,2),d(x,3),d(x,4),d(x,5)
  174.      read #1;e(x,1),e(x,2),e(x,3),e(x,4),e(x,5)
  175.      next x
  176.      for x=1 to 16
  177.      read #1;f(x)
  178.      next x
  179.      close 1
  180. 9506 PRINT K$(2,1)
  181. 9508 PRINT "ROW";TAB(6);K$(1,1);TAB(21);K$(1,2);TAB(36);K$(1,3);TAB(5:GOTO 40000
  182. 41000 PRINT clear$:PRINT:PRINT K$(2,2)
  183. 41008 PRINT "ROW";TAB(6);K$(1,1);TAB(21);K$(1,2);TAB(36);K$(1,3);TAB(51);
  184. 41010 PRINT K$(1,4);TAB(61);K$(1,5)
  185. 41012 FOR X=1 TO 11
  186. 41016 print x;tab(6);:print using l$;d(x,1);tab(21);d(x,2);tab(36);d(x,3);
  187.       print using u$;tab(51);d(x,4);:print using l$;tab(61);d(x,5)
  188. 41020 NEXT X
  189. 41030 PRINT "TO CHANGE AN ITEM TYPE M FOLLOWED BY ROW AND COLUMN"
  190. 41040 PRINT "TYPE F FOLLOWED BY RETURN IF NO CHANGES"
  191. 41050 INPUT line temp$
  192. 41055 IF temp$="F" THE
  193. 9620 NEXT X
  194. 9700 PRINT:PRINT K$(2,3)
  195. 9708 PRINT "ROW";TAB(6);K$(1,1);TAB(21);K$(1,2);TAB(36);K$(1,3);TAB(51);
  196. 9710 PRINT K$(1,4);TAB(61);K$(1,5)
  197. 9712 FOR X=1 TO 11
  198. 9716 print x;tab(6);:print using l$;e(x,1);tab(21);e(x,2);tab(36);e(x,3);
  199.      print using u$;tab(51);e(x,4);:print using l$;tab(61);e(x,5)
  200. 9720 NEXT X
  201. 9800 PRINT:PRINT K$(2,4):PRINT
  202. 9820 FOR Z=1 TO 7
  203. 9830 print using r$;f(z);
  204. 9840 NEXT Z
  205. 9850 print using r$;f(8)
  206. 9860 FOR Z=9 TO 15
  207. 9870 print using r$;f(z);
  208. 9880 NEXT Z
  209. 9890 print using r$;f(16)
  210. 9895 PRINT
  211.      print chr$(12):for z=1 to 100:next z:print chr$(12)
  212.      console
  213. 9995 RETURN
  214. 10000 CHAIN "bizmii"
  215. 20000 PRINT clear$:PRINT
  216. 20010 Z1=1
  217. 20020 PRINT K$(2,Z1)
  218. 20030 FOR X=1 TO 11
  219. 20040 PRINT "VALUES FOR ROW ";X
  220. 20050 FOR Y=1 TO 5
  221. 20060 PRINT TAB(30);"------------"
  222.     PRINT UP$;
  223. 20070 PRINT K$(1,Y);TAB(30);
  224. 20080 IF Z1=1 THEN INPUT C(X,Y):PRINT chr$(13)
  225. 20090 IF Z1=2 THEN INPUT D(X,Y):PRINT chr$(13)
  226. 20100 IF Z1=3 THEN INPUT E(X,Y):PRINT chr$(13)
  227. 20110 NEXT Y
  228. 20120 PRINT clear$:PRINT:PRINT K$(2,Z1)
  229. 20130 NEXT X
  230. 20140 IF Z1<3 THEN Z1=Z1+1:PRINT clear$:PRINT:GOTO 20020
  231. 20150 RETURN
  232. 30000 PRINT clear$:PRINT
  233. 30010 PRINT K$(2,4)
  234. 30020 FOR X=1 TO 16
  235. 30030 PRINT TAB(30);"------------"
  236.     PRINT UP$;
  237.       print TAB(30);
  238. 30040 INPUT F(X):PRINT chr$(13)
  239. 30050 NEXT X
  240. 30060 RETURN
  241. 40000 PRINT K$(2,1)
  242. 40008 PRINT "ROW";TAB(6);K$(1,1);TAB(21);K$(1,2);TAB(36);K$(1,3);TAB(51);
  243. 40010 PRINT K$(1,4);TAB(61);K$(1,5)
  244. 40012 FOR X=1 TO 11
  245. 40016 print x;tab(6);:print using l$;c(x,1);tab(21);c(x,2);tab(36);c(x,3);
  246.       print using u$;tab(51);c(x,4);:print using l$;tab(61);c(x,5)
  247. 40020 NEXT X
  248. 40030 PRINT "TO CHANGE AN ITEM TYPE S FOLLOWED BY ROW AND COLUMN"
  249. 40040 PRINT "TYPE F FOLLOWED BY RETURN IF NO CHANGES"
  250. 40050 INPUT line temp$
  251. 40055 IF temp$="F" THEN 41000
  252. 40060 INPUT "ROW ";X:INPUT "COLUMN ";Y
  253. 40065 IF temp$<>"S" THEN PRINT clear$:PRINT:GOTO 40000
  254. 40070 PRINT TAB(30);"------------"
  255.     PRINT UP$;
  256. 40075 PRINT K$(1,Y);TAB(30);
  257. 40080 INPUT C(X,Y):PRINT clear$:PRINT:GOTO 40000
  258. 41000 PRINT clear$:PRINT:PRINT K$(2,2)
  259. 41008 PRINT "ROW";TAB(6);K$(1,1);TAB(21);K$(1,2);TAB(36);K$(1,3);TAB(51);
  260. 41010 PRINT K$(1,4);TAB(61);K$(1,5)
  261. 41012 FOR X=1 TO 11
  262. 41016 print x;tab(6);:print using l$;d(x,1);tab(21);d(x,2);tab(36);d(x,3);
  263.       print using u$;tab(51);d(x,4);:print using l$;tab(61);d(x,5)
  264. 41020 NEXT X
  265. 41030 PRINT "TO CHANGE AN ITEM TYPE M FOLLOWED BY ROW AND COLUMN"
  266. 41040 PRINT "TYPE F FOLLOWED BY RETURN IF NO CHANGES"
  267. 41050 INPUT line temp$
  268. 41055 IF temp$="F" THEN 42000
  269. 41060 INPUT "ROW ";X:INPUT "COLUMN ";Y
  270. 41065 IF temp$<>"M" THEN PRINT clear$:PRINT:GOTO 41000
  271. 41070 PRINT TAB(30);"------------"
  272.     PRINT UP$;
  273. 41075 PRINT K$(1,Y);TAB(30);
  274. 41080 INPUT D(X,Y):PRINT clear$:PRINT:GOTO 41000
  275. 42000 PRINT clear$:PRINT:PRINT K$(2,3)
  276. 42008 PRINT "ROW";TAB(6);K$(1,1);TAB(21);K$(1,2);TAB(36);K$(1,3);TAB(51);
  277. 42010 PRINT K$(1,4);TAB(61);K$(1,5)
  278. 42012 FOR X=1 TO 11
  279. 42016 print x;tab(6);:print using l$;e(x,1);tab(21);e(x,2);tab(36);e(x,3);
  280.       print using u$;tab(51);e(x,4);:print using l$;tab(61);e(x,5)
  281. 42020 NEXT X
  282. 42030 PRINT "TO CHANGE AN ITEM TYPE H FOLLOWED BY ROW AND COLUMN"
  283. 42040 PRINT "TYPE F FOLLOWED BY RETURN IF NO CHANGES"
  284. 42050 INPUT line temp$
  285. 42055 IF temp$="F" THEN 43000
  286. 42060 INPUT "ROW ";X:INPUT "COLUMN ";Y
  287. 42065 IF temp$<>"H" THEN PRINT clear$:PRINT:GOTO 42000
  288. 42070 PRINT TAB(30);"------------"
  289.     PRINT UP$;
  290. 42075 PRINT K$(1,Y);TAB(30);
  291. 42080 INPUT E(X,Y):PRINT clear$:PRINT:GOTO 42000
  292. 43000 PRINT clear$:PRINT:PRINT K$(2,4):PRINT
  293. 43020 FOR Z=1 TO 7
  294. 43030 print using r$;f(z);
  295. 43040 NEXT Z
  296. 43050 print using r$;f(8)
  297. 43060 FOR Z=9 TO 15
  298. 43070 print using r$;f(z);
  299. 43080 NEXT Z
  300. 43090 print using r$;f(16)
  301. 43100 PRINT:PRINT"TO CHANGE AN ITEM TYPE C FOLLOWED BY THE NUMBER (1 TO 16)"
  302. 43110 PRINT "TYPE F FOLLOWED BY RETURN IF NO CHANGES"
  303. 43115 INPUT line temp$
  304. 43120 IF temp$="F" THEN RETURN
  305. 43125 INPUT Z
  306. 43130 IF temp$<>"C" THEN 43000
  307. 43135 PRINT TAB(30);"------------"
  308.     PRINT UP$;
  309. 43140 PRINT TAB(30);
  310. 43145 INPUT F(Z)
  311. 43150 GOTO 43000
  312.