home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 6 / 006.d81 / weights & measur (.txt) < prev    next >
Encoding:
Commodore BASIC  |  1984-01-01  |  10.0 KB  |  271 lines

  1. 5 rem --------------------------------
  2. 10 rem program to convert
  3. 15 rem between two different
  4. 20 rem weights and measures
  5. 21 rem
  6. 22 rem the screen gives a menu
  7. 23 rem of varoius measures (eg
  8. 24 rem ounce, square foot,
  9. 25 rem fathom).  you are given
  10. 26 rem the choices 'from' (the
  11. 27 rem unit of measure to
  12. 28 rem convert from), 'to' (the
  13. 29 rem unit of measure to
  14. 30 rem convert to), and
  15. 31 rem 'quantity' (the amount
  16. 32 rem to convert - the default
  17. 33 rem is 1).
  18. 34 rem
  19. 35 rem
  20. 36 rem by charlie brown
  21. 37 rem translated for the commodore
  22. 38 rem by donna k. woody
  23. 40 rem --------------------------------
  24. 45 gosub5000
  25. 50 ll$="--------------------------------------"
  26. 55 lx$="                                      "
  27. 100 b1$="[129]                      [146][144]"
  28. 110 b2$="[129] [215][197][201][199][200][212][211][160][193][206][196][160][205][197][193][211][213][210][197][211] [146][144]"
  29. 120 b3$="[129]      [195][207][206][214][197][210][211][201][207][206]      [146][144]"
  30. 130 printchr$(147):poke781,3:poke782,9:syss:printb1$
  31. 132 poke781,4:poke782,9:syss:printb2$
  32. 134 poke781,5:poke782,9:syss:printb3$
  33. 135 poke781,6:poke782,9:syss:printb1$
  34. 140 poke781,10:poke782,15:syss:print"1)  [215]eight"
  35. 142 poke781,11:poke782,15:syss:print"2)  [214]olume"
  36. 144 poke781,12:poke782,15:syss:print"3)  [204]ength"
  37. 146 poke781,13:poke782,15:syss:print"4)  [193]rea"
  38. 148 poke781,14:poke782,15:syss:print"5)  [210]ate"
  39. 150 poke781,22:poke782,1:syss:printll$
  40. 160 poke781,23:poke782,2:syss:print"<*> moves to last menu or ends run";
  41. 170 poke781,18:poke782,15:syss:print"[195]hoice: ";:poke198,0:wait198,1:geti$
  42. 172 ifi$="*"then6000
  43. 180 i=val(i$):ifi<1ori>5thenpoke781,16:poke782,0:syss:printlx$:goto170
  44. 190 onigoto1000,1400,1800,2200,2600
  45. 1000 printchr$(147):poke781,1:poke782,11:syss:print"* * [215] [197] [201] [199] [200] [212] [211] * *"
  46. 1010 poke781,3:poke782,3:syss:print"[193][214][207][201][210][196][213][208][207][201][211]        [205][197][212][210][201][195]"
  47. 1020 poke781,4:poke782,1:syss:print"[193]) "n1$(1);tab(20)"[207]) "n1$(15)
  48. 1030 poke781,5:poke782,1:syss:print"[194]) "n1$(2);tab(20)"[208]) "n1$(16)
  49. 1040 poke781,6:poke782,1:syss:print"[195]) "n1$(3);tab(20)"[209]) "n1$(17)
  50. 1050 poke781,7:poke782,1:syss:print"[196]) "n1$(4);tab(20)"[210]) "n1$(18)
  51. 1060 poke781,8:poke782,1:syss:print"[197]) "n1$(5);tab(20)"[211]) "n1$(19)
  52. 1070 poke781,9:poke782,1:syss:print"[198]) "n1$(6);tab(20)"[212]) "n1$(20)
  53. 1080 poke781,10:poke782,1:syss:print"[199]) "n1$(7);tab(20)"[213]) "n1$(21)
  54. 1090 poke781,11:poke782,3:syss:print"[212][210][207][217]";tab(20)"[214]) "n1$(22)
  55. 1100 poke781,12:poke782,1:syss:print"[200]) "n1$(8);tab(22)"[207][212][200][197][210]"
  56. 1110 poke781,13:poke782,1:syss:print"[201]) "n1$(9);tab(20)"[215]) "n1$(23)
  57. 1120 poke781,14:poke782,1:syss:print"[202]) "n1$(10);tab(20)"[216]) "n1$(24)
  58. 1130 poke781,15:poke782,3:syss:print"[193][208][207][212][200][197][195][193][210][201][197][211]";tab(20)"[217]) "n1$(25)
  59. 1140 poke781,16:poke782,1:syss:print"[203]) "n1$(11);tab(20)"[218]) "n1$(26)
  60. 1150 poke781,17:poke782,1:syss:print"[204]) "n1$(12)
  61. 1160 poke781,18:poke782,1:syss:print"[205]) "n1$(13)
  62. 1170 poke781,19:poke782,1:syss:print"[206]) "n1$(14)
  63. 1180 poke781,20:poke782,1:syss:printll$
  64. 1190 gosub3000:ifix=1then100
  65. 1200 gosub4100:ifix=1thengosub4900:goto1190
  66. 1210 gosub3100:poke781,23:poke782,11:syss
  67. 1215 print"[208][210][197][211][211][160][193] [203][197][217]";:poke198,0:wait198,1:getxx$:ifxx$="*"then100
  68. 1220 goto1190
  69. 1400 printchr$(147):poke781,1:poke782,11:syss:print"* * [214][160][207][160][204][160][213][160][205][160][197][160]* *"
  70. 1410 poke781,3:poke782,1:syss:print"[193]) "n2$(1);tab(22)"[209]) "n2$(17)
  71. 1420 poke781,4:poke782,1:syss:print"[194]) "n2$(2);tab(22)"[210]) "n2$(18)
  72. 1430 poke781,5:poke782,1:syss:print"[195]) "n2$(3);tab(22)"[211]) "n2$(19)
  73. 1440 poke781,6:poke782,1:syss:print"[196]) "n2$(4);tab(22)"[212]) "n2$(20)
  74. 1450 poke781,7:poke782,1:syss:print"[197]) "n2$(5);tab(22)"[213]) "n2$(21)
  75. 1460 poke781,8:poke782,1:syss:print"[198]) "n2$(6);tab(22)"[214]) "n2$(22)
  76. 1470 poke781,9:poke782,1:syss:print"[199]) "n2$(7);tab(22)"[215]) "n2$(23)
  77. 1480 poke781,10:poke782,1:syss:print"[200]) "n2$(8);tab(22)"[216]) "n2$(24)
  78. 1490 poke781,11:poke782,1:syss:print"[201]) "n2$(9);tab(22)"[217]) "n2$(25)
  79. 1500 poke781,12:poke782,1:syss:print"[202]) "n2$(10);tab(22)"[218]) "n2$(26)
  80. 1510 poke781,13:poke782,1:syss:print"[203]) "n2$(11);tab(22)"1) "n2$(27)
  81. 1520 poke781,14:poke782,1:syss:print"[204]) "n2$(12);tab(22)"2) "n2$(28)
  82. 1530 poke781,15:poke782,1:syss:print"[205]) "n2$(13);tab(22)"3) "n2$(29)
  83. 1540 poke781,16:poke782,1:syss:print"[206]) "n2$(14);tab(22)"4) "n2$(30)
  84. 1550 poke781,17:poke782,1:syss:print"[207]) "n2$(15);tab(22)"5) "n2$(31)
  85. 1560 poke781,18:poke782,1:syss:print"[208]) "n2$(16)
  86. 1570 poke781,20:poke782,1:syss:printll$
  87. 1580 gosub3000:ifix=1then100
  88. 1590 gosub4200:ifix=1thengosub4900:goto1580
  89. 1600 gosub3200:poke781,23:poke782,11:syss
  90. 1605 print"[208][210][197][211][211][160][193] [203][197][217]";:poke198,0:wait198,1:getxx$:ifxx$="*"then100
  91. 1610 goto1580
  92. 1800 printchr$(147):poke781,1:poke782,11:syss:print"* * [204][160][197][160][206][160][199][160][212][160][200][160]* *"
  93. 1810 poke781,3:poke782,1:syss:print"[193]) "n3$(1);tab(19)"[207]) "n3$(15)
  94. 1820 poke781,4:poke782,1:syss:print"[194]) "n3$(2);tab(19)"[208]) "n3$(16)
  95. 1830 poke781,5:poke782,1:syss:print"[195]) "n3$(3);tab(19)"[209]) "n3$(17)
  96. 1840 poke781,6:poke782,1:syss:print"[196]) "n3$(4);tab(19)"[210]) "n3$(18)
  97. 1850 poke781,7:poke782,1:syss:print"[197]) "n3$(5);tab(19)"[211]) "n3$(19)
  98. 1860 poke781,8:poke782,1:syss:print"[198]) "n3$(6);tab(19)"[212]) "n3$(20)
  99. 1870 poke781,9:poke782,1:syss:print"[199]) "n3$(7);tab(19)"[213]) "n3$(21)
  100. 1880 poke781,10:poke782,1:syss:print"[200]) "n3$(8);tab(19)"[214]) "n3$(22)
  101. 1890 poke781,11:poke782,1:syss:print"[201]) "n3$(9);tab(19)"[215]) "n3$(23)
  102. 1900 poke781,12:poke782,1:syss:print"[202]) "n3$(10);tab(19)"[216]) "n3$(24)
  103. 1910 poke781,13:poke782,1:syss:print"[203]) "n3$(11);tab(19)"[217]) "n3$(25)
  104. 1920 poke781,14:poke782,1:syss:print"[204]) "n3$(12);tab(19)"[218]) "n3$(26)
  105. 1930 poke781,15:poke782,1:syss:print"[205]) "n3$(13);tab(19)"1) "n3$(27)
  106. 1940 poke781,16:poke782,1:syss:print"[206]) "n3$(14);tab(19)"2) "n3$(28)
  107. 1950 poke781,20:poke782,1:syss:printll$
  108. 1960 gosub3000:ifix=1then100
  109. 1970 gosub4300:ifix=1thengosub4900:goto1960
  110. 1980 gosub3300:poke781,23:poke782,11:syss
  111. 1985 print"[208][210][197][211][211][160][193] [203][197][217]";:poke198,0:wait198,1:getxx$:ifxx$="*"then100
  112. 1990 goto1960
  113. 2200 printchr$(147):poke781,1:poke782,15:syss:print"* * [193] [210] [197] [193] * *"
  114. 2210 poke781,3:poke782,1:syss:print"[193]) "n4$(1);tab(20)"[200]) "n4$(8)
  115. 2220 poke781,4:poke782,1:syss:print"[194]) "n4$(2);tab(20)"[201]) "n4$(9)
  116. 2230 poke781,5:poke782,1:syss:print"[195]) "n4$(3);spc(5)"[202]) "n4$(10)
  117. 2240 poke781,6:poke782,1:syss:print"[196]) "n4$(4);tab(20)"[203]) "n4$(11)
  118. 2250 poke781,7:poke782,1:syss:print"[197]) "n4$(5);tab(20)"[204]) "n4$(12)
  119. 2260 poke781,8:poke782,1:syss:print"[198]) "n4$(6);tab(20)"[205]) "n4$(13)
  120. 2270 poke781,9:poke782,1:syss:print"[199]) "n4$(7);tab(20)"[206]) "n4$(14)
  121. 2280 poke781,20:poke782,1:syss:printll$
  122. 2290 gosub3000:ifix=1then100
  123. 2300 gosub4400:ifix=1thengosub4900:goto2290
  124. 2310 gosub3400:poke781,23:poke782,11:syss
  125. 2315 print"[208][210][197][211][211][160][193] [203][197][217]";:poke198,0:wait198,1:getxx$:ifxx$="*"then100
  126. 2320 goto2290
  127. 2600 printchr$(147):poke781,1:poke782,13:syss:print"* * [210] [193] [212] [197] * *"
  128. 2610 poke781,3:poke782,1:syss:print"[193]) "n5$(1);tab(20)"[199]) "n5$(7)
  129. 2620 poke781,4:poke782,1:syss:print"[194]) "n5$(2);tab(20)"[200]) "n5$(8)
  130. 2630 poke781,5:poke782,1:syss:print"[195]) "n5$(3);spc(4)"[201]) "n5$(9)
  131. 2640 poke781,6:poke782,1:syss:print"[196]) "n5$(4);tab(20)"[202]) "n5$(10)
  132. 2650 poke781,7:poke782,1:syss:print"[197]) "n5$(5);tab(20)"[203]) "n5$(11)
  133. 2660 poke781,8:poke782,1:syss:print"[198]) "n5$(6);tab(20)"[204]) "n5$(12)
  134. 2670 poke781,20:poke782,1:syss:printll$
  135. 2680 gosub3000:ifix=1then100
  136. 2690 gosub4500:ifix=1thengosub4900:goto2680
  137. 2700 gosub3500:poke781,23:poke782,11:syss
  138. 2705 print"[208][210][197][211][211][160][193] [203][197][217]";:poke198,0:wait198,1:getxx$:ifxx$="*"then100
  139. 2710 goto2680
  140. 3000 ix=0:poke781,21:poke782,1:syss:printlx$+" ":poke781,22:poke782,1:syss:printlx$
  141. 3001 poke781,23:poke782,1:syss:printlx$
  142. 3002 poke781,21:poke782,1:syss:print"[198]rom: ";:poke198,0:wait198,1:getfr$
  143. 3004 iffr$="*"thenix=1:return
  144. 3010 printfr$;
  145. 3020 poke781,21:poke782,10:syss:print"[212]o: ";:poke198,0:wait198,1:gettt$
  146. 3022 iftt$="*"thenix=1:return
  147. 3030 printtt$;:
  148. 3040 poke781,21:poke782,20:syss:input"[209]uantity: ";q$
  149. 3050 ifq$=""thenq=1
  150. 3060 ifq$<>""thenq=val(q$)
  151. 3070 return
  152. 3100 z=q*n1(i)/n1(j):poke781,21:poke782,1:syss:printlx$
  153. 3101 poke781,21:poke782,1:syss
  154. 3102 printq;" ";n1$(i);" = "
  155. 3103 poke781,22:poke782,5:syss:printz;" ";n1$(j):return
  156. 3200 z=q*n2(i)/n2(j):poke781,21:poke782,1:syss:printlx$
  157. 3201 poke781,21:poke782,1:syss
  158. 3202 printq;" ";n2$(i);" = "
  159. 3203 poke781,22:poke782,5:syss:printz;" ";n2$(j):return
  160. 3300 z=q*n3(i)/n3(j):poke781,21:poke782,1:syss:printlx$
  161. 3301 poke781,21:poke782,1:syss
  162. 3302 printq;" ";n3$(i);" = "
  163. 3303 poke781,22:poke782,5:syss:printz;" ";n3$(j):return
  164. 3400 z=q*n4(i)/n4(j):poke781,21:poke782,1:syss:printlx$
  165. 3401 poke781,21:poke782,1:syss
  166. 3402 printq;" ";n4$(i);" = "
  167. 3403 poke781,22:poke782,5:syss:printz;" ";n4$(j):return
  168. 3500 z=q*n5(i)/n5(j):poke781,21:poke782,1:syss:printlx$
  169. 3501 poke781,21:poke782,1:syss
  170. 3502 printq;" ";n5$(i);" = "
  171. 3503 poke781,22:poke782,5:syss:printz;" ";n5$(j):return
  172. 4100 ix=0:i=asc(fr$):j=asc(tt$)
  173. 4110 ifi<65ori>91thenix=1:return
  174. 4120 i=i-64
  175. 4130 ifj<65orj>91thenix=1:return
  176. 4140 j=j-64
  177. 4150 return
  178. 4200 ix=0:i=asc(fr$):j=asc(tt$)
  179. 4210 ifi<49ori>91or(i<65andi>53)thenix=1:return
  180. 4220 ifi>64theni=i-42
  181. 4230 i=i-22
  182. 4240 ifj<49orj>91or(j<65andj>53)thenix=1:return
  183. 4250 ifj>64thenj=j-42
  184. 4260 j=j-22
  185. 4270 return
  186. 4300 ix=0:i=asc(fr$):j=asc(tt$)
  187. 4310 ifi<49ori>91or(i<65andi>50)thenix=1:return
  188. 4320 ifi>64theni=i-42
  189. 4330 i=i-22
  190. 4340 ifj<49orj>91or(j<65andj>50)thenix=1:return
  191. 4350 ifj>64thenj=j-42
  192. 4360 j=j-22
  193. 4370 return
  194. 4400 ix=0:i=asc(fr$):j=asc(tt$)
  195. 4410 ifi<65ori>78thenix=1:return
  196. 4420 i=i-64
  197. 4430 ifj<65orj>78thenix=1:return
  198. 4440 j=j-64
  199. 4450 return
  200. 4500 ix=0:i=asc(fr$):j=asc(tt$)
  201. 4510 ifi<65ori>76thenix=1:return
  202. 4520 i=i-64
  203. 4530 ifj<65orj>76thenix=1:return
  204. 4540 j=j-64
  205. 4550 return
  206. 4900 poke781,22:poke782,0:syss:printlx$:return
  207. 5000 dimn1$(26),n1(26),n2$(31),n2(31),n3$(28),n3(28),n4$(14),n4(14)
  208. 5002 dimn5$(12),n5(12):s=65520
  209. 5003 poke783,peek(783)and254
  210. 5004 poke53281,7:poke53280,8:printchr$(144):poke53272,23:printchr$(8)
  211. 5010 printchr$(147):poke781,5:poke782,1:syss:print"[204]oading conversion factors"
  212. 5012 print:print" [208]lease wait........."
  213. 5020 fori=1to26:readn1$(i):next
  214. 5030 data"[199]rain","[196]ram ([193]vdp.)","[207]unce ([193]vdp.)","[208]ound ([193]vdp.)","[200]undredweight"
  215. 5032 data"[212]on","[204]ong ton","[208]ennyweight","[207]unce ([212]roy)","[208]ound ([212]roy)"
  216. 5034 data"[211]cruple","[196]ram ([193]poth.)","[207]unce ([193]poth.)","[208]ound ([193]poth.)"
  217. 5040 data"[205]illigram","[195]entigram","[196]ecigram","[199]ram","[196]ekagram","[200]ectogram"
  218. 5042 data"[203]ilogram","[205]etric ton","[209]uintal","[195]arat","[208]oint","[211]tone"
  219. 5050 fori=1to26:readn1(i):next
  220. 5060 data1,27.34375,437.5,7000,700000,14000000,1568e4,24,480,5760,20,60,480,5760
  221. 5062 data.0154322,.1543222,1.54322,15.4322,154.322,1543.22,15432.2,15432200
  222. 5064 data1543220,3.08644,.0308644,98000
  223. 5070 fori=1to31:readn2$(i):next
  224. 5080 data"[205]illiliter","[195]entiliter","[196]eciliter","[204]iter","[196]ekaliter","[200]ectoliter"
  225. 5082 data"[203]iloliter","[195]ubic millimeter","[195]ubic centimeter","[195]ubic decimeter"
  226. 5084 data"[195]ubic meter","[211]tere","[195]ord","[195]ubic foot","[195]ubic inch","[194]oard foot"
  227. 5086 data"[196]ry pint","[196]ry quart"
  228. 5090 data"[208]eck","[194]ushel","[204]iquid pint","[204]iquid quart","[199]allon ([213].[211].)"
  229. 5092 data"[205]inim","[199]ill","[198]luid dram","[198]luid ounce","[199]allon ([194]rit.)"
  230. 5094 data"[212]ablespoon","[212]easpoon","[195]up"
  231. 5100 fori=1to31:readn2(i):next
  232. 5110 data.001,.01,.1,1,10,100,1000,.000001,.001,1,1000,1000,3624.5376,28.3167
  233. 5112 data.0163869792,2.35972501,.55066,1.10132,8.81056,35.24224,.4731712
  234. 5120 data.9463424,3.7853696,.0000616108333,.1182928,.00369665,.0295732
  235. 5122 data4.546,.0147866,.00492886667,.2365856
  236. 5130 fori=1to28:readn3$(i):next
  237. 5140 data"[201]nch","[198]oot","[217]ard","[210]od","[198]urlong","[205]ile","[204]eague","[195]able's length"
  238. 5142 data"[195]hain","[204]ink","[198]athom","[195]ubit","[200]and","[211]pan","[206]autical mile"
  239. 5144 data"[193]ngstrom","[205]icron","[205]il"
  240. 5150 data"[205]illimeter","[195]entimeter","[196]ecimeter","[205]eter","[196]ekameter"
  241. 5152 data"[200]ectometer","[203]ilometer","[193]stronomical unit","[204]ight year","[208]arsec"
  242. 5160 fori=1to28:readn3(i):next
  243. 5170 data.08333333333,1,3,16.5,660,5280,15830,720,66,.66,6,.6666666666667
  244. 5172 data.333333333333,.75,6076.1155,.00000000032808,.0000032808
  245. 5174 data.0000833333333,.0032808,.032808,.32808,3.2808,32.808,328.08
  246. 5176 data3280.8,8.491040000000
  247. 5180 data31046400000000000,101211264000000000
  248. 5190 fori=1to14:readn4$(i):next
  249. 5200 data"[211]quare inch","[211]quare foot","[211]quare yard","[211]quare rod","[193]cre"
  250. 5202 data"[211]quare mile","[211]ection","[212]ownship","[211]quare millimeter"
  251. 5204 data"[211]quare centimeter","[211]quare meter","[193]re","[200]ectare","[211]quare kilometer"
  252. 5210 fori=1to14:readn4(i):next
  253. 5220 data.000000159422508,.0000229568411,.00029661157,.00625,1,640,640
  254. 5222 data23040,.0000000002471,.00000002471,.0002471,.02471,2.471,247.1
  255. 5230 fori=1to12:readn5$(i):next
  256. 5240 data"[205]iles/hour","[205]iles/minute","[205]iles/second","[198]eet/hour","[198]eet/minute"
  257. 5242 data"[198]eet/second","[203]ilometers/hour","[203]ilometers/minute","[203]ilometers/second"
  258. 5244 data"[205]eters/hour","[205]eters/minute","[205]eters/second"
  259. 5250 fori=1to12:readn5(i):next
  260. 5260 data1,60,3600,.0001893939394,.01136363636,.681818182,.62150404
  261. 5262 data37.2902424,2237.414545,.00062150404,.0372902424,2.237414545
  262. 5270 return
  263. 6000 printchr$(147):poke781,10:poke782,15:syss
  264. 6010 print"            ":poke781,11:poke782,15:syss:print" [197]nd of run. "
  265. 6020 poke781,12:poke782,15:syss:print"           "
  266. 6040 rem ********** end ***************
  267. 6050 rem ********** end ***************
  268. 63000 rem     link back
  269. 63010 print"[147]load"chr$(34)"payload"chr$(34)",8":print"run"
  270. 63020 poke198,0:poke631,13:poke632,13:poke198,2:end
  271.