home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1990 / 08 / einsteig / gwbsp4_a.bas < prev    next >
BASIC Source File  |  1990-05-14  |  8KB  |  236 lines

  1.  3 REM *****************************************************
  2.  5 REM   Basic-Kurs(4)   (C) Th.Frins/W.Kehr & toolbox 1990
  3. 10 REM ******************** GBWBSP4_A.BAS ******************
  4. 20 REM KALKULATION DER SELBSTKOSTEN
  5. 30 REM PROGRAMMIERER:   XYZ
  6. 40 REM Variablenbeschreibungen wie in den vorhergehenden
  7. 50 REM Fassungen
  8. 60 :
  9. 230 REM *** AB HIER BEGINNT DAS HAUPTPROGRAMM **************
  10. 240 :
  11. 250 REM ************** Variableninitialisierung ************
  12. 260 LEER$ = SPACE$(55)
  13. 270 WARTEN$ = "j"
  14. 275 GOSUB 61000         'INITIALISIERUNG FÜR EINGABEROUTINE
  15. 280 REM ************** Beginn der Hauptschleife ************
  16. 290 WHILE WARTEN$ = "j" OR WARTEN$ = "J"
  17. 300     GOSUB 1000           'MASKE
  18. 310     GOSUB 2000           'AUSWAHL
  19. 320     IF WAHL$ = "3" THEN WARTEN$ = "n"
  20. 330     IF WAHL$ <> "3" THEN GOSUB 6000: GOSUB 7000
  21.         'BERECHNUNG : AUSGABE
  22. 340 WEND
  23. 500 END
  24. 510 REM *** ENDE DES HAUPTPROGRAMMS ************************
  25. 520 :
  26. 1000 REM *** BEGINN UNTERPROGRAMM MASKE ********************
  27. 1005 :
  28. 1006 REM Haben wir letztes Mal versäumt, als Schleife
  29.          umzubauen
  30. 1007 REM Sie haben es doch sicherlich gleich entdeckt und
  31.          selbst erledigt !?
  32. 1010 CLS : KEY OFF
  33. 1020 LOCATE 2, 5: PRINT STRING$(1, 201); STRING$(70, 205);
  34.      STRING$(1, 187)
  35. 1030 FOR I = 3 TO 22
  36. 1040    LOCATE I, 5: PRINT STRING$(1, 186): LOCATE I, 76:
  37.         PRINT STRING$(1, 186)
  38. 1050 NEXT I
  39. 1230 LOCATE 23, 5: PRINT STRING$(1, 200); STRING$(70, 205);
  40.      STRING$(1, 188)
  41. 1240 REM ******** Bearbeitungsart wählen *******************
  42. 1250 LOCATE 3, 15: PRINT "Bearbeitungsart wählen"
  43. 1260 LOCATE 5, 15: PRINT "[ 1 ]  Gemeinkostenzuschläge "
  44.      selbst eingeben"
  45. 1270 LOCATE 7, 15: PRINT "[ 2 ]  Gemeinkostenzuschläge - "
  46.      Standardwerte übernehmen"
  47. 1280 LOCATE 9, 15: PRINT "[ 3 ]  Programm abbrechen"
  48. 1290 LOCATE 11, 15: PRINT "Die Standardwerte lauten wie "
  49.      folgt:"
  50. 1300 LOCATE 13, 15: PRINT "Materialgemeinkosten    :  20 %"
  51. 1310 LOCATE 15, 15: PRINT "Fertigungsgemeinkosten  :  50 %"
  52. 1320 LOCATE 17, 15: PRINT "Verwaltungsgemeinkosten :  10 %"
  53. 1330 LOCATE 19, 15: PRINT "Vertriebsgemeinkosten   :   5 %"
  54. 1340 LOCATE 22, 15: PRINT "Bitte mit der Ziffer '1' oder "
  55.      '2' oder '3' wählen ";
  56. 1350 RETURN
  57. 1360 :
  58. 1370 REM *** ENDE UNTERPROGRAMM MASKE **********************
  59. 1380 :
  60. 2000 REM *** BEGINN UNTERPROGRAMM AUSWAHL ******************
  61. 2005 :
  62. 2010 WAHLSCHLEIFE = 1
  63. 2020 WHILE WAHLSCHLEIFE = 1
  64. 2030    WAHL$ = INKEY$
  65. 2040    IF WAHL$ = "1" OR WAHL$ = "2" OR WAHL$ = "3" THEN
  66.         WAHLSCHLEIFE = 0
  67. 2050    IF WAHL$ <> "1" AND WAHL$ <> "2" AND WAHL$ <> "3"
  68.         AND WAHL$ <> "" THEN BEEP
  69. 2060 WEND
  70. 2070 IF WAHL$ = "3" THEN 2300    'Sprung zum RETURN
  71. 2080 ZEILE = 3
  72. 2090 WHILE ZEILE < 20
  73. 2100    LOCATE ZEILE, 15
  74. 2120    PRINT LEER$
  75. 2130    ZEILE = ZEILE + 2
  76. 2140 WEND
  77. 2160 REM ******* Ersatzweise mit einer FOR-Schleife ********
  78. 2170 REM FOR ZEILE = 3 TO 19 STEP 2
  79. 2180 REM     LOCATE ZEILE, 15
  80. 2190 REM     PRINT LEER$
  81. 2200 REM NEXT ZEILE     
  82. 2210 LOCATE 22, 15: PRINT LEER$
  83. 2220 GOSUB 5000              'MATERIAL & LOHN
  84. 2225 WAHL = VAL(WAHL$)
  85. 2230 ON WAHL GOSUB 3000, 4000  'EIGENWERTE,STANDARDWERTE
  86. 2300 RETURN
  87. 2310 :
  88. 2320 REM *** ENDE DES UNTERPROGRAMMS AUSWAHL ***************
  89. 2330 :
  90. 3000 REM *** BEGINN UNTERPROGRAMM EIGENWERTE ***************
  91. 3005 :
  92. 3010 LOCATE 12, 10: PRINT "MATERIALGEMEINKOSTEN IN % (max. "
  93.      100.0 %) .......: "
  94. 3020 ZEILE = 12: SPALTE = 60: WORT$ = SPACE$(5): LAENGE = 5
  95.      : ERLAUBT$ = ZAHLEN$
  96. 3022 VWORT$ = WORT$
  97. 3030 GOSUB 60000     'EINGABEROUTINE
  98. 3045 MGPR = VAL(WORT$)
  99. 3050 LOCATE 14, 10: PRINT "FERTIGUNGSGEMEINKOSTEN IN % "
  100.      (max. 100.0 %) .....: "
  101. 3060 ZEILE = 14: SPALTE = 60: WORT$ = SPACE$(5): LAENGE = 5
  102.      : ERLAUBT$ = ZAHLEN$
  103. 3062 VWORT$ = WORT$
  104. 3070 GOSUB 60000     'EINGABEROUTINE
  105. 3085 FPR = VAL(WORT$)
  106. 3090 LOCATE 16, 10: PRINT "VERWALTUNGSGEMEINKOSTEN IN % "
  107.      (max. 100.0 %) ....: "
  108. 3100 ZEILE = 16: SPALTE = 60: WORT$ = SPACE$(5): LAENGE = 5
  109.      : ERLAUBT$ = ZAHLEN$
  110. 3102 VWORT$ = WORT$
  111. 3110 GOSUB 60000     'EINGABEROUTINE
  112. 3125 VWPR = VAL(WORT$)
  113. 3130 LOCATE 18, 10: PRINT "VERTRIEBSGEMEINKOSTEN IN % "
  114.      (max. 100.0 %) ......: "
  115. 3140 ZEILE = 18: SPALTE = 60: WORT$ = SPACE$(5): LAENGE = 5
  116.      : ERLAUBT$ = ZAHLEN$
  117. 3141 VWORT$ = WORT$
  118. 3142 GOSUB 60000     'EINGABEROUTINE
  119. 3145 VPR = VAL(WORT$)
  120. 3150 PRINT
  121. 3170 PRINT
  122. 3180 GOSUB 8000              'WARTEN
  123. 3300 RETURN
  124. 3310 :
  125. 3320 REM *** ENDE DES UNTERPROGRAMMS EIGENWERTE ************
  126. 3330 :
  127. 4000 REM *** BEGINN UNTERPROGRAMM STANDARDWERTE ************
  128. 4005 :
  129. 4010 MGPR = 20: FPR = 50: VWPR = 10: VPR = 5: LOCATE 20, 1
  130. 4020 GOSUB 8000              'WARTEN
  131. 4300 RETURN
  132. 4310 :
  133. 4320 REM *** ENDE DES UNTERPROGRAMMS STANDARDWERTE *********
  134. 4330 :
  135. 5000 REM *** BEGINN UNTERPROGRAMM MATERIAL & LOHN **********
  136. 5005 :
  137. 5010 COLOR 0, 7
  138. 5020 LOCATE 1, 25: PRINT "KALKULATION DER SELBSTKOSTEN"
  139. 5030 COLOR 7, 0
  140. 5040 LOCATE 4, 20: PRINT "Dezimalstelle mit PUNKT oder "
  141.      KOMMA eingeben:"
  142. 5050 PRINT
  143. 5060 LOCATE 8, 10: PRINT "FERTIGUNGSMATERIAL IN DM (max. "
  144.      99999.99 DM) ....: "
  145. 5070 ZEILE = 8: SPALTE = 60: WORT$ = SPACE$(8): LAENGE = 8:
  146.      ERLAUBT$ = ZAHLEN$
  147. 5072 VWORT$ = WORT$
  148. 5073 GOSUB 60000     'EINGABEROUTINE
  149. 5075 FM = VAL(WORT$)
  150. 5080 LOCATE 10, 10: PRINT "FERTIGUNGSLÖHNE IN DM (max. "
  151.      99999.99 DM) .......: "
  152. 5090 ZEILE = 10: SPALTE = 60: WORT$ = SPACE$(8): LAENGE = 8:
  153.      ERLAUBT$ = ZAHLEN$
  154. 5092 VWORT$ = WORT$
  155. 5095 GOSUB 60000   'EINGABEROUTINE
  156. 5100 FL = VAL(WORT$)
  157. 5110 RETURN
  158. 5120 :
  159. 5130 REM *** ENDE DES UNTERPROGRAMMS MATERIAL & LOHN *******
  160. 5140 :
  161. 6000 REM *** BEGINN UNTERPROGRAMM BERECHNUNG ***************
  162. 6005 :
  163. 6020 LET MGDM = FM * MGPR / 100
  164. 6030 FDM = FL * FPR / 100
  165. 6040 H = FM + FL + MGDM + FDM
  166. 6050 VWDM = H * VWPR / 100
  167. 6060 VDM = H * VPR / 100
  168. 6070 S = H + VWDM + VDM
  169. 6080 RETURN
  170. 6090 :
  171. 6100 REM *** ENDE DES UNTERPROGRAMMS BERECHNUNG ************
  172. 6110 :
  173. 7000 REM *** BEGINN UNTERPROGRAMM AUSGABE ******************
  174. 7005 :
  175. 7007 CLS
  176. 7010 PRINT
  177. 7015 DATUM$ = MID$(DATE$, 4, 3) + MID$(DATE$, 1, 3) +
  178.      MID$(DATE$, 7, 4)
  179. 7020 PRINT "KALKULATION DER SELBSTKOSTEN VOM "; DATUM$
  180. 7025 PRINT
  181. 7030 PRINT "FERTIGUNGSMATERIAL";
  182. 7035 COLOR 15, 0: PRINT TAB(40); USING "######.## DM"; FM:
  183.      COLOR 7, 0
  184. 7040 PRINT "+  ";
  185. 7045 PRINT USING "###.##"; MGPR;
  186. 7050 PRINT " % MATERIALGEMEINKOSTEN";
  187. 7055 COLOR 15, 0: PRINT TAB(40); USING "######.## DM"; MGDM:
  188.      COLOR 7, 0
  189. 7060 PRINT "FERTIGUNGSLÖHNE";
  190. 7065 COLOR 15, 0: PRINT TAB(40); USING "######.## DM"; FL:
  191.      COLOR 7, 0
  192. 7070 PRINT "+  ";
  193. 7075 PRINT USING "###.##"; FPR;
  194. 7080 PRINT " % FERTIGUNGSGEMEINKOSTEN";
  195. 7090 COLOR 15, 0: PRINT TAB(40); USING "######.## DM"; FDM:
  196.      COLOR 7, 0
  197. 7100 PRINT "-----------------------------------------------"
  198.            ----"
  199. 7105 PRINT "HERSTELLKOSTEN";
  200. 7110 COLOR 15, 0: PRINT TAB(40); USING "######.## DM"; H:
  201.      COLOR 7, 0
  202. 7115 PRINT "+  ";
  203. 7120 PRINT USING "###.##"; VWPR;
  204. 7125 PRINT " % VERWALTUNGSGEMEINKOSTEN";
  205. 7130 COLOR 15, 0: PRINT TAB(40); USING "######.## DM"; VWDM:
  206.      COLOR 7, 0
  207. 7135 PRINT "+  ";
  208. 7140 PRINT USING "###.##"; VPR;
  209. 7145 PRINT " % VERTRIEBSGEMEINKOSTEN";
  210. 7150 COLOR 15, 0: PRINT TAB(40); USING "######.## DM"; VDM:
  211.      COLOR 7, 0
  212. 7155 PRINT "-----------------------------------------------"
  213.            ----"
  214. 7160 COLOR 31, 0
  215. 7165 PRINT "SELBSTKOSTEN";
  216. 7170 PRINT TAB(39); USING "#######.## DM"; S
  217. 7175 COLOR 7, 0
  218. 7180 PRINT TAB(40); "============"
  219. 7182 PRINT : PRINT : PRINT
  220. 7185 GOSUB 8000              'WARTEN              
  221. 7280 RETURN
  222. 7290 :
  223. 7300 REM *** ENDE DES UNTERPROGRAMMS AUSGABE ***************
  224. 7310 :
  225. 8000 REM *** BEGINN UNTERPROGRAMM WARTEN *******************
  226. 8005 :
  227. 8010 LOCATE , 20: PRINT "Weiter mit einer beliebigen Taste";
  228. 8020 DUMMY$ = INPUT$(1)
  229. 8030 RETURN
  230. 8040 :
  231. 8050 REM *** ENDE DES UNTERPROGRAMMS WARTEN ****************
  232. 8060 :
  233. 59990 REM hier folgt die Eingaberoutine                   
  234. 59991 REM das sind die Zeilen 60000 ff   
  235. 59992 REM aus dem Programm NEWINPUT_A.BAS                 
  236.