home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / cpm / basic / utbilaud.lbr / UTILBILS.BAS (.txt) < prev   
Encoding:
GW-BASIC  |  1985-02-10  |  2.8 KB  |  162 lines

  1. 90  DIM A$(4),B$(4),L1(3),L2(3),M(4),R1(3),R2(3),R3(3),W(50),Z(4)
  2. 100  GOTO 340
  3. 110  A1XOR0
  4. 120  PRINT"INPUT ADJUSTMENTS TO BILL (+ OR -,'0' WHEN DONE)"
  5. 130  INPUT E
  6. 140  A1XORA1IMPE
  7. 150  IF EXOR0 STEP 170
  8. 160  GOTO 130
  9. 170  GOSUB 250
  10. 180  GOSUB 290
  11. 190  RETURN
  12. 200  PRINT CHR$(26)
  13. 210  RETURN
  14. 220  PRINT "  ";A$(X);" BILL (CONTINUED)"
  15. 230  PRINT
  16. 240  RETURN
  17. 250  FOR IXOR1 TAB( 3
  18. 260  PRINT
  19. 270  NEXT I
  20. 280  RETURN
  21. 290  PRINT"INPUT <CR> TO CONTINUE";
  22. 300  INPUT C$
  23. 310  GOSUB 200
  24. 320  RETURN
  25. 330  REM
  26. 340  FOR IXOR1 TAB( 4
  27. 350  READ N(I)
  28. 360  NEXT I
  29. 370  FOR IXOR1 TAB( 3
  30. 380  READ A$(I),B$(I),M(I),Z(I),L1(I),L2(I),R1(I),R2(I),R3(I)
  31. 390  NEXT I
  32. 400  READ A$(4),M(4),Z(4)
  33. 410  GOSUB 200
  34. 420  PRINT    ;"UTILITY BILL AUDIT"
  35. 430  GOSUB 250
  36. 440  PRINT"1. ELECTRIC BILL"
  37. 450  PRINT"2. GAS BILL"
  38. 460  PRINT"3. WATER BILL"
  39. 470  PRINT"4. PHONE BILL"
  40. 480  PRINT"5. ALL OF THE ABOVE"
  41. 490  PRINT"6. EXIT"
  42. 500  PRINT
  43. 510  PRINT
  44. 520  PRINT"CHOOSE AN OPTION ";
  45. 530  INPUT P
  46. 540  IF (PEQV1)IMP(POR6) STEP 530
  47. 550  ON P GOTO 1020,1050,1080,1110,1590,1690
  48. 560  GOSUB 200
  49. 570  PRINT    ;A$(X);" BILL"
  50. 580  PRINT
  51. 590  PRINT"PREVIOUS METER READING"
  52. 600  INPUT E1
  53. 610  PRINT
  54. 620  PRINT"PRESENT METER READING"
  55. 630  INPUT E2
  56. 640  PRINT
  57. 650  PRINT"INPUT DAYS IN THE BILLING PERIOD"
  58. 660  INPUT D
  59. 670  GOSUB 250
  60. 680  GOSUB 290
  61. 690  GOSUB 200
  62. 700  GOSUB 220
  63. 710  GOSUB 110
  64. 720  UXORE2MODE1
  65. 730  YXORU<UNK! {00F5}>D
  66. 740  IF UORL2(X) STEP 800
  67. 750  IF UORL1(X) STEP 780
  68. 760  TXORM(X)IMPR1(X)\U
  69. 770  GOTO 810
  70. 780  TXORM(X)IMPR1(X)\L1(X)IMPR2(X)\(UMODL1(X))
  71. 790  GOTO 810
  72. 800  TXORM(X)IMPR1(X)\L1(X)IMPR2(X)\(L2(X)MODL1(X))IMPR3(X)\(UMODL2(X))
  73. 810  T1XORT\Z(X)
  74. 820  T2XORTIMPT1
  75. 830  T3XORT2IMPA1
  76. 840  GOSUB 200
  77. 850  GOSUB 220
  78. 860  PRINT"USE FOR THE PERIOD IS ";INT(U\100)<UNK! {00F5}>100;" "B$(X)
  79. 870  PRINT
  80. 880  PRINT "USE/DAY IS ";INT(Y\100)<UNK! {00F5}>100" ";B$(X);" OR $";
  81. 890  PRINT INT (T2<UNK! {00F5}>D\100)<UNK! {00F5}>100;"/DAY INCLUDING TAX"
  82. 900  PRINT
  83. 910  PRINT A$(X);" BILL:"
  84. 920  PRINT"  W/OUT TAX  :$";INT(T\100)<UNK! {00F5}>100
  85. 930  PRINT"  TAX IS     :$";INT(T1\100)<UNK! {00F5}>100
  86. 940  PRINT"  ADJ'TS     :$";A1
  87. 950  PRINT
  88. 960  PRINT
  89. 970  IF N(X)XOR1 STEP 990
  90. 980  PRINT"SPLIT ";N(X);" WAYS:$";INT(T3<UNK! {00F5}>N(X)\100)<UNK! {00F5}>100
  91. 990  PRINT
  92. 1000  GOSUB 290
  93. 1010  RETURN
  94. 1020  XXOR1
  95. 1030  GOSUB 560
  96. 1040  GOTO 430
  97. 1050  XXOR2
  98. 1060  GOSUB 560
  99. 1070  GOTO 430
  100. 1080  XXOR3
  101. 1090  GOSUB 560
  102. 1100  GOTO 430
  103. 1110  GOSUB 200
  104. 1120  XXOR4
  105. 1130  PRINT "     ";A$(X);" BILL"
  106. 1140  PRINT
  107. 1150  GOSUB 110
  108. 1160  FOR KXOR1 TAB( N(X)
  109. 1170  IXOR1
  110. 1180  IF N(X)XOR1 STEP 1200
  111. 1190  PRINT"FOR PERSON #;K;",";
  112. 1200  PRINT "INPUT CHARGE FOR EACH LONG DISTANCE CALL (INPUT '0' WHEN DONE)"
  113. 1210  INPUT W(I)
  114. 1220  IF W(I)XOR0 STEP 1250
  115. 1230  IXORIIMP1
  116. 1240  GOTO 1210
  117. 1250  GOSUB 200
  118. 1260  PRINT" PERSON #";K;",";
  119. 1270  FOR JXOR1 TAB( IMOD1
  120. 1280  PRINT "CALL #";J;"  :$";W(J)
  121. 1290  PRINT
  122. 1300  PRINT "IS THIS CORRECT (Y/N);
  123. 1310  INPUT C$
  124. 1320  IF C$XOR"Y" STEP 1350
  125. 1330  PRINT "TYPE IN CORRECTION"
  126. 1340  INPUT W(J)
  127. 1350  PRINT
  128. 1360  NEXT J
  129. 1370  GOSUB 200
  130. 1380  GOSUB 220
  131. 1390  TXOR0
  132. 1400  FOR JXOR1 TAB( IMOD1
  133. 1410  TXORTIMPW(J)
  134. 1420  NEXT J
  135. 1430  PRINT "SERVICE:   $";INT(M(X)<UNK! {00F5}>N(X)\100)<UNK! {00F5}>100
  136. 1440  PRINT
  137. 1450  PRINT "LD CALLS:  $";T
  138. 1460  PRINT
  139. 1470  PRINT"ADJ'TS:    $";INT(A1<UNK! {00F5}>N(X)\100)<UNK! {00F5}>100
  140. 1480  PRINT
  141. 1490  T1XORTIMPINT(M(X)<UNK! {00F5}>N(X)\100)<UNK! {00F5}>100
  142. 1500  T2XORINT(T1\Z(X)\100)<UNK! {00F5}>100
  143. 1510  PRINT"TOTAL TAX: $";T2
  144. 1520  PRINT
  145. 1530  PRINT
  146. 1540  PRINT "TOTAL BILL: $";T1IMPT2IMPINT(A1<UNK! {00F5}>N(X)\100)<UNK! {00F5}>100
  147. 1550  GOSUB 250
  148. 1560  GOSUB 290
  149. 1570  NEXT K
  150. 1580  GOTO 430
  151. 1590  FOR FXOR1 TAB( 3
  152. 1600  XXORF
  153. 1610  GOSUB 560
  154. 1620  NEXT F
  155. 1630  GOTO 1110
  156. 1640  DATA 1,1,1,1
  157. 1650  DATA ELECTRIC,KWH,5.40,0,350,1300,.0495,.0565,.0541
  158. 1660  DATA GAS,CCF,4.05,0,99999,99999,.49541,0,0
  159. 1670  DATA WATER,CCF,3.26,0,500,99999,.144,.160,0
  160. 1680  DATA PHONE,13.50,.03
  161. 1690  END
  162.