home *** CD-ROM | disk | FTP | other *** search
/ 64'er 1984 October / 64er_Magazin_84-10_1984_Markt__Technik_de.d64 / Zinsrechnung (.txt) < prev   
Commodore BASIC  |  2022-10-26  |  5KB  |  148 lines

  1. 7 poke45,peek(174):poke46,peek(175):clr
  2. 8 rem (c) by klaus kloeker
  3. 9 clr:dima$(15),a(15):goto1000
  4. 10 z1=3:z2=9:s=13:rem * maske loeschen *
  5. 20 forz=z1toz2:gosub90:print"                          ":next:ifc=0thenreturn
  6. 30 z1=12:z2=20:c=0:goto20
  7. 50 return
  8. 70 a$(12)=str$(int(a(12)*100+.5)):rem * runden
  9. 75 ab$=left$(a$(12),len(a$(12))-2)+"."+right$(a$(12),2):return
  10. 80 load"menue",8:rem *load menue
  11. 90 poke214,z:poke211,s:sys58732:return:rem * cursorposition
  12. 95 a=55869:fori=1597to1622:pokei,100:pokea,1:a=a+1:next:return
  13. 100 rem * auswahlroutine *
  14. 110 gosub90:print"           [146]":fori=1to75:nexti
  15. 120 gosub90:print""a$(y)"[146]":fori=1to125:next
  16. 130 getg$:ifg$<>chr$(133)andg$<>chr$(134)andg$<>chr$(135)andg$<>chr$(13)then110
  17. 140 ifg$=chr$(133)andcthenc=0:return
  18. 150 ifg$=chr$(13)thengosub90:print">[146]":return
  19. 160 ifg$=chr$(135)then190
  20. 170 z=z+sw:y=y+1:ifz>z2thenz=z1:y=y1
  21. 180 goto110
  22. 190 z=z-sw:y=y-1:ifz<z1thenz=z2:y=y2
  23. 195 goto110
  24. 200 rem * wahl-fusszeile *:s=0
  25. 210 z=23:gosub90:print"          [146]";:fori=1to75:next
  26. 220 gosub90:print""ba$(y)"[146]";:fori=1to175:next
  27. 230 getg$:ifg$<>chr$(134)andg$<>chr$(135)andg$<>chr$(13)then210
  28. 240 ifg$=chr$(13)thengosub90:print">[146]";:return
  29. 250 ifg$=chr$(135)then280
  30. 260 s=s+10:y=y+1:ifs>31thens=0:y=1
  31. 270 goto210
  32. 280 s=s-10:y=y-1:ifs<0thens=30:y=4
  33. 290 goto210
  34. 300 rem * eingaberoutine *
  35. 310 gosub90
  36. 320 in$=""
  37. 330 print"[162][157]";
  38. 340 getg$:ifg$=""then340
  39. 350 g=asc(g$):ifg=13thengoto460
  40. 370 ifg$<"0"org$>"9"then420
  41. 380 in$=in$+g$
  42. 390 printg$;
  43. 400 iflen(in$)>nthenfori=1tolen(in$):printchr$(20);:next:goto320
  44. 410 goto330
  45. 420 ifg=46then380
  46. 425 ifg$=chr$(133)then9
  47. 430 ifg<>20then330
  48. 440 iflen(in$)<1then330
  49. 450 in$=left$(in$,len(in$)-1):goto390
  50. 460 pn$="":fori=1to(10-len(in$)):pn$=pn$+".":next:printpn$
  51. 470 iflen(in$)<1then310
  52. 480 return
  53. 999 :
  54. 1000 rem ** zinsrechnung **
  55. 1010 gosub5000:printma$
  56. 1020 a=55388:fori=1076to1906step40:pokei,101:pokea,1:a=a+40:next
  57. 1030 a=55736:fori=1464to1474:pokei,100:pokea,1:a=a+1:next
  58. 1040 a=55749:fori=1477to1502:pokei,100:pokea,1:a=a+1:next
  59. 1050 z=23:s=0:gosub90:printmb$
  60. 1060 z=3:gosub90:print"[193]uswahl :":print"[163][163][163][163][163][163][163][163][163]"
  61. 1070 z=5:fori=1to5:gosub90:print""a$(i)"[146]":z=z+1:next
  62. 1080 z=5:z1=z:z2=9:s=0:y=1:y1=y:y2=5:sw=1:c=0:gosub100:f=y:iff=5then80
  63. 1090 z=13:s=0:gosub90:print"[204]aufzeit in":print"[163][163][163][163][163][163][163][163][163][163][163]"
  64. 1100 z=15:fori=6to8:s=0:gosub90:print""a$(i)"[146]":z=z+1:next
  65. 1110 z=15:z1=z:z2=17:s=0:y=6:y1=y:y2=8:sw=1:c=0:gosub100:e=y
  66. 1120 ife=6thena$(11)=ja$:h=1
  67. 1130 ife=7thena$(11)=mo$:h=12
  68. 1140 ife=8thena$(11)=ta$:h=360
  69. 1150 iff=1thena$(9)=ka$:a$(10)=p$:k=1
  70. 1160 iff=2thena$(9)=zi$:a$(10)=p$:k=1
  71. 1170 iff=3thena$(9)=ka$:a$(10)=zi$:k=0
  72. 1180 iff=4thena$(9)=ka$:a$(10)=zi$:a$(11)=p$:k=2
  73. 2000 rem * eingabemaske *
  74. 2010 z=3:s=13:gosub90:print"[197]ingabe :":z=4:gosub90:print"[163][163][163][163][163][163][163][163][163]"
  75. 2020 z=5:fori=9to11:s=13:gosub90:print""a$(i)"[146] : ";pm$
  76. 2030 z=z+2:next:z=23:s=0:gosub90:printmc$
  77. 2040 z=5:s=27:n=10:gosub300:a(9)=val(in$)
  78. 2050 z=7:s=27:n=10:gosub300:a(10)=val(in$)
  79. 2060 z=9:s=27:n=10:gosub300:a(11)=val(in$)
  80. 2070 z=13:s=13:gosub90:print"[197]ingabe korrekt ? (j/n):":gosub95
  81. 2080 z=13:s=38:gosub90:print"[162][157]";
  82. 2090 getg$:ifg$<>"j"andg$<>"n"then2090
  83. 2100 printg$:ifg$="j"theny=1
  84. 2110 ifg$="n"theny=0
  85. 2120 geti$:ifi$<>chr$(13)andi$<>chr$(20)then2120
  86. 2130 ifi$=chr$(20)then2080
  87. 2140 c=1:gosub10:ify=0then2010
  88. 3000 rem * rechnung *
  89. 3010 iff=1thena(12)=(a(9)*a(10)*a(11))/(100*h)
  90. 3020 iff=2thena(12)=(a(9)*100*h)/(a(10)*a(11))
  91. 3030 iff=3thena(12)=(a(10)*100*h)/(a(9)*a(11))
  92. 3040 iff=4thena(12)=(a(10)*100*h)/(a(9)*a(11))
  93. 3500 rem * bildschirm
  94. 3510 z=3:s=13:gosub90:print"[197]ingabe :":z=4:gosub90:print"[163][163][163][163][163][163][163][163][163][163]"
  95. 3520 z=5:fori=9to11:gosub90:printa$(i)" :"a(i):z=z+2:next
  96. 3530 z=13:gosub90:print"[210]esultat :":z=14:gosub90:print"[163][163][163][163][163][163][163][163][163][163]":gosub70
  97. 3540 z=16:gosub90:print""a$(f)"[146] :";:printtab(38-len(ab$));ab$
  98. 3550 printtab(39-len(ab$));:fori=1tolen(ab$)-1:print"=";:next
  99. 3560 z=20:gosub90:ifk=1thenprint"[193]usdruck in [196][205][160]!":goto3580
  100. 3570 ifk=0thenprint"[193]usdruck in [208]rozent !"
  101. 3580 z=23:s=0:gosub90:fori=1to4:print""ba$(i)"[146]";:next
  102. 3590 y=1:gosub200:ify=4then80
  103. 3600 ify=3then1010
  104. 3610 ify=2then4500
  105. 4000 rem * aenderung *
  106. 4010 c=1:gosub10
  107. 4020 z=3:s=13:gosub90:print"[193]enderung :":z=4:gosub90:print"[163][163][163][163][163][163][163][163][163][163][163]"
  108. 4030 z=5:s=13:fori=9to11:gosub90:print""a$(i)"[146] :";a(i):z=z+2:next
  109. 4040 z=23:s=0:gosub90:printmd$;
  110. 4050 z=5:z1=z:z2=9:s=13:y=9:y1=y:y2=11:sw=2:c=1:gosub100
  111. 4060 ifc=0thengosub10:goto3000
  112. 4070 z=13:s=13:gosub90:print""a$(y)"[146] : ";pm$:gosub95
  113. 4080 z=23:s=0:gosub90:printmc$;:z=13:s=27:gosub300:a(y)=val(in$):goto4010
  114. 4500 rem * ausdruck *
  115. 4510 open4,4,7:print#4,chr$(14);chr$(16);"28[218][201][206][211][210][197][195][200][206][213][206][199]"
  116. 4520 print#4,chr$(16);"28------------";chr$(10)
  117. 4530 fori=9to11:print#4,chr$(15);chr$(16);"10*** "a$(i)" : ";a(i):next
  118. 4540 gosub70:print#4,chr$(10);chr$(16);"14"a$(f)" : "ab$
  119. 4550 print#4,chr$(16);"15";:fori=1to2+len(a$(f)+ab$):print#4,"=";:next
  120. 4560 print#4:print#4:print#4
  121. 4570 print#4,chr$(13);chr$(16);"10***   [203]apital und [218]inssatz werden";
  122. 4580 print#4," in ' [196][205] ' ausgedruckt,"
  123. 4590 print#4,chr$(16);"16der [218]inssatz in ' % ' !"
  124. 4600 print#4:fori=1to40:print#4,"==";:next:print#4:print#4:print#4:print#4
  125. 4610 close4:fori=56176to56215:pokei,0:next:goto3580
  126. 5000 rem * variablenliste *
  127. 5010 ma$="[147]        [218][160][201][160][206][160][211][160][210][160][197][160][195][160][200][160][206][160][213][160][206][160][199]        [146]"
  128. 5020 mb$=" [198]3 u. [198]5 - [215]ahl ! '[210][197][212][213][210][206]' - [197]ingabe ![146]"
  129. 5030 mc$="   [198]1 - [206]eu !     [199]eben [211]ie ein !      [146]"
  130. 5040 md$=" [198]1 - [210]esultat !     [198]3 u. [198]5 - [215]ahl ! [146]"
  131. 5050 ka$="  [203]apital  ":p$="  [218]inssatz ":zi$=" [218]insertrag"
  132. 5060 ja$="  [202]ahre    ":mo$="  [205]onate   ":ta$="  [212]age     ":pm$=".........."
  133. 5110 ba$(1)=" [193]endern  "
  134. 5120 ba$(2)=" [203]opie    "
  135. 5130 ba$(3)=" [206].[194]erech."
  136. 5140 ba$(4)=" [205]enue    "
  137. 5510 a$(1)=" [218]insertrag"
  138. 5520 a$(2)="  [203]apital  "
  139. 5530 a$(3)="  [218]inssatz "
  140. 5540 a$(4)="  [204]aufzeit "
  141. 5550 a$(5)="  [205]enue    "
  142. 5560 a$(6)="  [202]ahre    "
  143. 5570 a$(7)="  [205]onate   "
  144. 5580 a$(8)="  [212]age     "
  145. 5590 a$(13)="  [193]endern  "
  146. 5600 a$(14)="  [210]esultat "
  147. 5610 a$(15)="  [205]enue    ":return
  148.