home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turbo Toolbox
/
Turbo_Toolbox.iso
/
1990
/
08
/
einsteig
/
gwbsp4_a.bas
< prev
next >
Wrap
BASIC Source File
|
1990-05-14
|
8KB
|
236 lines
3 REM *****************************************************
5 REM Basic-Kurs(4) (C) Th.Frins/W.Kehr & toolbox 1990
10 REM ******************** GBWBSP4_A.BAS ******************
20 REM KALKULATION DER SELBSTKOSTEN
30 REM PROGRAMMIERER: XYZ
40 REM Variablenbeschreibungen wie in den vorhergehenden
50 REM Fassungen
60 :
230 REM *** AB HIER BEGINNT DAS HAUPTPROGRAMM **************
240 :
250 REM ************** Variableninitialisierung ************
260 LEER$ = SPACE$(55)
270 WARTEN$ = "j"
275 GOSUB 61000 'INITIALISIERUNG FÜR EINGABEROUTINE
280 REM ************** Beginn der Hauptschleife ************
290 WHILE WARTEN$ = "j" OR WARTEN$ = "J"
300 GOSUB 1000 'MASKE
310 GOSUB 2000 'AUSWAHL
320 IF WAHL$ = "3" THEN WARTEN$ = "n"
330 IF WAHL$ <> "3" THEN GOSUB 6000: GOSUB 7000
'BERECHNUNG : AUSGABE
340 WEND
500 END
510 REM *** ENDE DES HAUPTPROGRAMMS ************************
520 :
1000 REM *** BEGINN UNTERPROGRAMM MASKE ********************
1005 :
1006 REM Haben wir letztes Mal versäumt, als Schleife
umzubauen
1007 REM Sie haben es doch sicherlich gleich entdeckt und
selbst erledigt !?
1010 CLS : KEY OFF
1020 LOCATE 2, 5: PRINT STRING$(1, 201); STRING$(70, 205);
STRING$(1, 187)
1030 FOR I = 3 TO 22
1040 LOCATE I, 5: PRINT STRING$(1, 186): LOCATE I, 76:
PRINT STRING$(1, 186)
1050 NEXT I
1230 LOCATE 23, 5: PRINT STRING$(1, 200); STRING$(70, 205);
STRING$(1, 188)
1240 REM ******** Bearbeitungsart wählen *******************
1250 LOCATE 3, 15: PRINT "Bearbeitungsart wählen"
1260 LOCATE 5, 15: PRINT "[ 1 ] Gemeinkostenzuschläge "
selbst eingeben"
1270 LOCATE 7, 15: PRINT "[ 2 ] Gemeinkostenzuschläge - "
Standardwerte übernehmen"
1280 LOCATE 9, 15: PRINT "[ 3 ] Programm abbrechen"
1290 LOCATE 11, 15: PRINT "Die Standardwerte lauten wie "
folgt:"
1300 LOCATE 13, 15: PRINT "Materialgemeinkosten : 20 %"
1310 LOCATE 15, 15: PRINT "Fertigungsgemeinkosten : 50 %"
1320 LOCATE 17, 15: PRINT "Verwaltungsgemeinkosten : 10 %"
1330 LOCATE 19, 15: PRINT "Vertriebsgemeinkosten : 5 %"
1340 LOCATE 22, 15: PRINT "Bitte mit der Ziffer '1' oder "
'2' oder '3' wählen ";
1350 RETURN
1360 :
1370 REM *** ENDE UNTERPROGRAMM MASKE **********************
1380 :
2000 REM *** BEGINN UNTERPROGRAMM AUSWAHL ******************
2005 :
2010 WAHLSCHLEIFE = 1
2020 WHILE WAHLSCHLEIFE = 1
2030 WAHL$ = INKEY$
2040 IF WAHL$ = "1" OR WAHL$ = "2" OR WAHL$ = "3" THEN
WAHLSCHLEIFE = 0
2050 IF WAHL$ <> "1" AND WAHL$ <> "2" AND WAHL$ <> "3"
AND WAHL$ <> "" THEN BEEP
2060 WEND
2070 IF WAHL$ = "3" THEN 2300 'Sprung zum RETURN
2080 ZEILE = 3
2090 WHILE ZEILE < 20
2100 LOCATE ZEILE, 15
2120 PRINT LEER$
2130 ZEILE = ZEILE + 2
2140 WEND
2160 REM ******* Ersatzweise mit einer FOR-Schleife ********
2170 REM FOR ZEILE = 3 TO 19 STEP 2
2180 REM LOCATE ZEILE, 15
2190 REM PRINT LEER$
2200 REM NEXT ZEILE
2210 LOCATE 22, 15: PRINT LEER$
2220 GOSUB 5000 'MATERIAL & LOHN
2225 WAHL = VAL(WAHL$)
2230 ON WAHL GOSUB 3000, 4000 'EIGENWERTE,STANDARDWERTE
2300 RETURN
2310 :
2320 REM *** ENDE DES UNTERPROGRAMMS AUSWAHL ***************
2330 :
3000 REM *** BEGINN UNTERPROGRAMM EIGENWERTE ***************
3005 :
3010 LOCATE 12, 10: PRINT "MATERIALGEMEINKOSTEN IN % (max. "
100.0 %) .......: "
3020 ZEILE = 12: SPALTE = 60: WORT$ = SPACE$(5): LAENGE = 5
: ERLAUBT$ = ZAHLEN$
3022 VWORT$ = WORT$
3030 GOSUB 60000 'EINGABEROUTINE
3045 MGPR = VAL(WORT$)
3050 LOCATE 14, 10: PRINT "FERTIGUNGSGEMEINKOSTEN IN % "
(max. 100.0 %) .....: "
3060 ZEILE = 14: SPALTE = 60: WORT$ = SPACE$(5): LAENGE = 5
: ERLAUBT$ = ZAHLEN$
3062 VWORT$ = WORT$
3070 GOSUB 60000 'EINGABEROUTINE
3085 FPR = VAL(WORT$)
3090 LOCATE 16, 10: PRINT "VERWALTUNGSGEMEINKOSTEN IN % "
(max. 100.0 %) ....: "
3100 ZEILE = 16: SPALTE = 60: WORT$ = SPACE$(5): LAENGE = 5
: ERLAUBT$ = ZAHLEN$
3102 VWORT$ = WORT$
3110 GOSUB 60000 'EINGABEROUTINE
3125 VWPR = VAL(WORT$)
3130 LOCATE 18, 10: PRINT "VERTRIEBSGEMEINKOSTEN IN % "
(max. 100.0 %) ......: "
3140 ZEILE = 18: SPALTE = 60: WORT$ = SPACE$(5): LAENGE = 5
: ERLAUBT$ = ZAHLEN$
3141 VWORT$ = WORT$
3142 GOSUB 60000 'EINGABEROUTINE
3145 VPR = VAL(WORT$)
3150 PRINT
3170 PRINT
3180 GOSUB 8000 'WARTEN
3300 RETURN
3310 :
3320 REM *** ENDE DES UNTERPROGRAMMS EIGENWERTE ************
3330 :
4000 REM *** BEGINN UNTERPROGRAMM STANDARDWERTE ************
4005 :
4010 MGPR = 20: FPR = 50: VWPR = 10: VPR = 5: LOCATE 20, 1
4020 GOSUB 8000 'WARTEN
4300 RETURN
4310 :
4320 REM *** ENDE DES UNTERPROGRAMMS STANDARDWERTE *********
4330 :
5000 REM *** BEGINN UNTERPROGRAMM MATERIAL & LOHN **********
5005 :
5010 COLOR 0, 7
5020 LOCATE 1, 25: PRINT "KALKULATION DER SELBSTKOSTEN"
5030 COLOR 7, 0
5040 LOCATE 4, 20: PRINT "Dezimalstelle mit PUNKT oder "
KOMMA eingeben:"
5050 PRINT
5060 LOCATE 8, 10: PRINT "FERTIGUNGSMATERIAL IN DM (max. "
99999.99 DM) ....: "
5070 ZEILE = 8: SPALTE = 60: WORT$ = SPACE$(8): LAENGE = 8:
ERLAUBT$ = ZAHLEN$
5072 VWORT$ = WORT$
5073 GOSUB 60000 'EINGABEROUTINE
5075 FM = VAL(WORT$)
5080 LOCATE 10, 10: PRINT "FERTIGUNGSLÖHNE IN DM (max. "
99999.99 DM) .......: "
5090 ZEILE = 10: SPALTE = 60: WORT$ = SPACE$(8): LAENGE = 8:
ERLAUBT$ = ZAHLEN$
5092 VWORT$ = WORT$
5095 GOSUB 60000 'EINGABEROUTINE
5100 FL = VAL(WORT$)
5110 RETURN
5120 :
5130 REM *** ENDE DES UNTERPROGRAMMS MATERIAL & LOHN *******
5140 :
6000 REM *** BEGINN UNTERPROGRAMM BERECHNUNG ***************
6005 :
6020 LET MGDM = FM * MGPR / 100
6030 FDM = FL * FPR / 100
6040 H = FM + FL + MGDM + FDM
6050 VWDM = H * VWPR / 100
6060 VDM = H * VPR / 100
6070 S = H + VWDM + VDM
6080 RETURN
6090 :
6100 REM *** ENDE DES UNTERPROGRAMMS BERECHNUNG ************
6110 :
7000 REM *** BEGINN UNTERPROGRAMM AUSGABE ******************
7005 :
7007 CLS
7010 PRINT
7015 DATUM$ = MID$(DATE$, 4, 3) + MID$(DATE$, 1, 3) +
MID$(DATE$, 7, 4)
7020 PRINT "KALKULATION DER SELBSTKOSTEN VOM "; DATUM$
7025 PRINT
7030 PRINT "FERTIGUNGSMATERIAL";
7035 COLOR 15, 0: PRINT TAB(40); USING "######.## DM"; FM:
COLOR 7, 0
7040 PRINT "+ ";
7045 PRINT USING "###.##"; MGPR;
7050 PRINT " % MATERIALGEMEINKOSTEN";
7055 COLOR 15, 0: PRINT TAB(40); USING "######.## DM"; MGDM:
COLOR 7, 0
7060 PRINT "FERTIGUNGSLÖHNE";
7065 COLOR 15, 0: PRINT TAB(40); USING "######.## DM"; FL:
COLOR 7, 0
7070 PRINT "+ ";
7075 PRINT USING "###.##"; FPR;
7080 PRINT " % FERTIGUNGSGEMEINKOSTEN";
7090 COLOR 15, 0: PRINT TAB(40); USING "######.## DM"; FDM:
COLOR 7, 0
7100 PRINT "-----------------------------------------------"
----"
7105 PRINT "HERSTELLKOSTEN";
7110 COLOR 15, 0: PRINT TAB(40); USING "######.## DM"; H:
COLOR 7, 0
7115 PRINT "+ ";
7120 PRINT USING "###.##"; VWPR;
7125 PRINT " % VERWALTUNGSGEMEINKOSTEN";
7130 COLOR 15, 0: PRINT TAB(40); USING "######.## DM"; VWDM:
COLOR 7, 0
7135 PRINT "+ ";
7140 PRINT USING "###.##"; VPR;
7145 PRINT " % VERTRIEBSGEMEINKOSTEN";
7150 COLOR 15, 0: PRINT TAB(40); USING "######.## DM"; VDM:
COLOR 7, 0
7155 PRINT "-----------------------------------------------"
----"
7160 COLOR 31, 0
7165 PRINT "SELBSTKOSTEN";
7170 PRINT TAB(39); USING "#######.## DM"; S
7175 COLOR 7, 0
7180 PRINT TAB(40); "============"
7182 PRINT : PRINT : PRINT
7185 GOSUB 8000 'WARTEN
7280 RETURN
7290 :
7300 REM *** ENDE DES UNTERPROGRAMMS AUSGABE ***************
7310 :
8000 REM *** BEGINN UNTERPROGRAMM WARTEN *******************
8005 :
8010 LOCATE , 20: PRINT "Weiter mit einer beliebigen Taste";
8020 DUMMY$ = INPUT$(1)
8030 RETURN
8040 :
8050 REM *** ENDE DES UNTERPROGRAMMS WARTEN ****************
8060 :
59990 REM hier folgt die Eingaberoutine
59991 REM das sind die Zeilen 60000 ff
59992 REM aus dem Programm NEWINPUT_A.BAS