home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
M.u.C.S. Disc 2000
/
MUCS2000.iso
/
sigisoft
/
kaufmann
/
pk1.bas
< prev
next >
Wrap
BASIC Source File
|
1997-10-09
|
9KB
|
160 lines
1 WIDTH 80: COLOR 15,0,0
2 DIM AR$(10),NETTO(10),BRUTTO(10),NETTO$(10),BRUTTO$(10)
10 GOTO 100
15 LOCATE 20,1: PRINT STRING$(79,205)
16 LOCATE 21,1: COLOR 0,15: PRINT SPACE$(79)
17 LOCATE 21,25: PRINT "PROGRAMM WIRD GELADEN.BITTE WARTEN": COLOR 15,0
18 LOCATE 22,1: PRINT STRING$(79,205): RETURN
19 GOSUB 15: RUN "MENUE"
20 ZZ$=LEFT$(ZZ$,L):ZZ$=ZZ$+STRING$(L-LEN(ZZ$),95):Z2=0:Y=1
21 LOCATE R,S,O:PRINT ZZ$;
22 LOCATE R,S+Y-1,1
23 Z$=INKEY$: IF Z$="" THEN 23 ELSE Z=ASC(Z$): Z1=0: IF Z=0 THEN Z1=ASC(RIGHT$(Z$,1))
24 IF Z<>13 THEN 28 ELSE IF Z2 >0 THEN 23
25 IF Y=1 THEN ZZ$=CHR$(13):RETURN
26 IF RIGHT$(ZZ$,1)="_" THEN ZZ$=LEFT$(ZZ$,INSTR(ZZ$,"_")-1)
27 RETURN
28 IF Z<>0 THEN 48
29 IF Z1<>71 THEN 31 ELSE IF Y=1 OR Z2 THEN 23
30 Y=1:GOTO 22
31 IF Z1<>75 THEN 33 ELSE IF Y=1 OR Z2 THEN 23
32 Y=Y-1:GOTO 22
33 IF Z1<>77 THEN GOTO 35 ELSE IF MID$(ZZ$,Y,1)="_" OR Y>L THEN GOTO 23
34 Y=Y+1:GOTO 22
35 IF Z1<>79 THEN 39 ELSE IF Y>L OR Z2 THEN 23
36 IF MID$(ZZ$,Y,1)="_" THEN 23
37 Y=Y+1
38 IF MID$(ZZ$,Y,1)="_" THEN 22 ELSE 37
39 IF Z1<>82 THEN 42 ELSE IF RIGHT$(ZZ$,1)<>"_" THEN 23
40 IF (Z2=0 AND MID$(ZZ$,Y,1)="_") OR Y>L THEN 23
41 ZZ$=LEFT$(ZZ$,Y-1)+"_"+MID$(ZZ$,Y,L-Y):Z2=Z2+1:GOTO 21
42 IF Z1<>83 THEN 44 ELSE IF (Z2=0 AND MID$(ZZ$,Y,1)="_") OR Y>L THEN 23
43 GOSUB 56:ZZ$=LEFT$(ZZ$,Y-1)+MID$(ZZ$,Y+1)+"_":GOTO 21
44 IF Z1<>117 THEN 46 ELSE IF (Z2=0 AND MID$(ZZ$,Y,1)="_") OR Y>L THEN 23
45 GOSUB 56:ZZ$=LEFT$(ZZ$,Y-1)+STRING$(L-Y+1,95):GOTO 21
46 IF Z1<>119 THEN 23 ELSE IF Y=1 THEN 23
47 ZZ$=MID$(ZZ$,Y)+STRING$(Y-1,95):Y=1:GOTO 21
48 IF Z<>8 THEN 50 ELSE IF Y=1 THEN 23
49 ZZ$=LEFT$(ZZ$,Y-2)+MID$(ZZ$,Y)+"_":Y=Y-1:GOTO 21
50 IF Z<>27 THEN 51 ELSE ZZ$=STRING$(L,95):Y=1:Z2=0: GOTO 21
51 IF Z=95 OR Y>L THEN 23
52 ON PK% GOTO 55,53,54
53 IF Z<46 OR Z>58 THEN 23 ELSE 55
54 IF Z<>106 AND Z<>110 THEN 23
55 IF Z=44 THEN 23 ELSE GOSUB 56:ZZ$=LEFT$(ZZ$,Y-1)+Z$+MID$(ZZ$,Y+1):PRINT Z$;:Y=Y+1:GOTO 22
56 IF Z2 THEN Z2=Z2-1
57 RETURN
60 CLS: LOCATE 2,1: PRINT STRING$(79,205)
61 LOCATE 3,1: COLOR 0,15: PRINT SPACE$(79): LOCATE 3,30: PRINT "KAUFMÄNNISCHES RECHNEN": LOCATE 4,1: PRINT SPACE$(79)
62 LOCATE 4,30: PRINT "(C) BY SIEGFRIED HÜBNER ESC =LADE MENÜ": LOCATE 5,1: PRINT SPACE$(79)
63 LOCATE 5,28: PRINT "P R O Z E N T R E C H N E N"
64 COLOR 15,0: LOCATE 6,1: PRINT STRING$(79,205): RETURN
70 LOCATE 20,1: PRINT STRING$(79,205)
71 LOCATE 21,1: COLOR 0,15: PRINT SPACE$(79)
72 LOCATE 21,29: PRINT "BELIEBIGE TASTE DRÜCKEN": COLOR 15,0
73 LOCATE 22,1: PRINT STRING$(79,205)
75 E$=INKEY$: IF E$="" THEN 75
76 IF E$=CHR$(27) THEN 19
77 RETURN
90 LOCATE 20,1: PRINT STRING$(79,205)
91 LOCATE 21,1: COLOR 0,15: PRINT SPACE$(79)
92 LOCATE 21,34: PRINT "FALSCHE EINGABE": COLOR 15,0
93 LOCATE 22,1: PRINT STRING$(79,205): RETURN
95 FOR T=1 TO 4: LOCATE 19+T,1: PRINT SPACE$(79): NEXT: RETURN
100 GOSUB 60
101 LOCATE 7,2: PRINT "PROZENT kommt aus dem Lateinischen 'per centrum', was bedeutet: von 100"
102 LOCATE 8,2: PRINT "Im kaufmännischen Bereich wird die Prozentrechnung vielfältig eingesetzt,"
103 LOCATE 9,2: PRINT "da sie einen raschen Vergleich rechnerischer Größen durch Bezug auf den"
104 LOCATE 10,2: PRINT "Maßstab 100 erlaubt."
105 LOCATE 12,2: PRINT "DIE MEHRWERTSTEUER"
106 LOCATE 14,2: PRINT "Wenn Sie sich im Computerladen einen Drucker kaufen, dann treten Sie"
107 LOCATE 15,2: PRINT "dort als Endverbraucher auf. Der Ihnen genannte Preis enthält bereits"
108 LOCATE 16,2: PRINT "die gesetzliche Mehrwertsteuer. Der Verkäufer ist gehalten, seinem kal-"
109 LOCATE 17,2: PRINT "kulierten Abgabepreis die Mehrwertsteuer zuzuschlagen.": GOSUB 70
110 GOSUB 60
111 LOCATE 7,2: PRINT "Somit haben wir vier Begriffe:"
112 LOCATE 8,2: PRINT "den ABGABEPREIS des Händlers"
113 LOCATE 9,2: PRINT "den BETRAG DER MEHRWERTSTEUER in DM, den der Händler seinem Abgabepreis"
114 LOCATE 10,2: PRINT "zuzuschlagen hat"
115 LOCATE 11,2: PRINT "diesen Zuschlag berechnet er als PROZENTSATZ des Abgabepreises"
116 LOCATE 12,2: PRINT "den ENDVERBRAUCHERPREIS, den Sie als Kunde bezahlen müssen"
117 LOCATE 14,2: PRINT "Für unsere Berechnungen verwenden wir nun folgende Variablen:"
118 LOCATE 16,2: PRINT "BRUTTO = Preis mit Mehrwertsteuer"
119 LOCATE 17,2: PRINT "NETTO = Preis ohne Mehrwertsteuer"
120 LOCATE 18,2: PRINT "MWST = Mehrwertsteuer-Satz in % "
121 LOCATE 19,2: PRINT "BETRAG = Mehrwertsteuer-Betrag ": GOSUB 70
130 GOSUB 60
131 LOCATE 7,2: PRINT "Die Prozentrechnung setzen wir ein, um aus NETTO und MWST den Preis"
132 LOCATE 8,2: PRINT "mit Mehrwertsteuer zu errechnen. "
133 LOCATE 9,2: PRINT "Wir setzen NETTO zu 100 %"
134 LOCATE 10,2: PRINT "1 % von NETTO sind dann NETTO/100"
135 LOCATE 11,2: PRINT "MWST % von NETTO sind dann NETTO/100*MWST"
136 LOCATE 13,2: PRINT "Damit wird:"
137 LOCATE 14,2: PRINT "BRUTTO = NETTO + (NETTO/100*MWST)"
138 LOCATE 16,2: PRINT "Die Mehrwertsteuer beträgt derzeit 14 %. Das vereinfacht unsere"
139 LOCATE 17,2: PRINT "weiteren Berechnungen:"
140 LOCATE 18,2: PRINT "BRUTTO = NETTO * 1.14 NETTO = BRUTTO / 1.14"
141 LOCATE 19,2: PRINT "BETRAG = BRUTTO - NETTO BETRAG = BRUTTO - (BRUTTO / 1.14)": GOSUB 70
150 GOSUB 60
151 LOCATE 7,2: PRINT "Unser erstes Programm zur Prozentrechnung. "
152 LOCATE 9,2: PRINT "Geben Sie den Mehrwersteuersatz ein (7/14%) :"
153 ZZ$="": R=9: S=50: L=2: PK%=2: GOSUB 20: MWST$=ZZ$
154 MWST=VAL(MWST$): IF MWST= 7 OR MWST = 14 THEN 155 ELSE BEEP: GOSUB 90: GOTO 153
155 GOSUB 95
156 LOCATE 11,2: PRINT "GEBEN SIE BIS ZU 9 ARTIKEL MIT DEM NETTO-PREIS"
157 LOCATE 12,2: PRINT "EIN. VORHER BEENDEN MIT ZEICHEN * :": I=I+1
158 ZZ$="": R=12: S=50: L=10: PK%=1: GOSUB 20: AR$(I)=ZZ$: IF AR$(I)=CHR$(13) THEN BEEP: GOSUB 90: GOTO 158
159 IF AR$(I)="*" THEN I=I-1: GOTO 169
160 LOCATE 14,2: PRINT "EINZELPREIS NETTO-BETRAG :"
161 ZZ$="": R=14: S=50: L=5: PK%=2: GOSUB 20: NETTO$(I)=ZZ$
162 IF NETTO$(I)=CHR$(13) THEN BEEP: GOSUB 90: GOTO 161
163 NETTO(I)=VAL(NETTO$(I)): IF NETTO(I)<=0 THEN BEEP: GOSUB 90: GOTO 161
164 GOSUB 95
165 IF I=9 THEN 169
166 GOTO 157
169 GOSUB 70
170 GOSUB 60
171 LOCATE 7,50: PRINT "AUSGABE DER ERGEBNISSE"
172 LOCATE 8,2: PRINT "ARTIKEL NETTO-PREIS BRUTTO-PREIS"
173 LOCATE 9,2: PRINT "====================================="
174 LOCATE 10,2: FOR N=1 TO I
175 BRUTTO(N)=NETTO(N)+(NETTO(N)/100*MWST)
176 BRUTTO(N)=INT(BRUTTO(N)*100+.5)/100
177 PRINT TAB(2);AR$(N);TAB(14);USING"####.##";NETTO(N);: PRINT TAB(27);USING"####.##";BRUTTO(N)
178 NEXT: GOSUB 70
180 GOSUB 60
181 LOCATE 7,2: PRINT "DAS PROGRAMM-LISTING :"
182 LOCATE 9,2: PRINT " 10 CLS 'BILDSCHIRM FREI"
183 LOCATE 10,2: PRINT " 20 DIM BRUTTO(9),NETTO(9) 'DIMENSIONIERUNG"
184 LOCATE 11,2: PRINT " 30 INPUT 'MEHRWERTSTEUER';MWST 'EINGABE DER MEHRWERTSTEUER"
185 LOCATE 12,2: PRINT " 40 I=I+1 'ZÄHLER "
186 LOCATE 13,2: PRINT " 50 INPUT 'ARTIKEL';AR$(I) 'EINGABE ARTIKEL"
187 LOCATE 14,2: PRINT " 60 INPUT 'PREIS';NETTO(I) 'EINGABE NETTO-PREIS"
188 LOCATE 15,2: PRINT " 70 IF AR$(I)='*' THEN 100 'WENN VORHER ENDE,DANN"
189 LOCATE 16,2: PRINT " 80 IF I=9 THEN 100 'WENN MAX. EINGABE ERREICHT"
190 LOCATE 17,2: PRINT " 90 GOTO 40 'WEITERE EINGABEN"
200 LOCATE 17,2: PRINT "100 I=I-1 '1 EINGABE ZURÜCK"
201 LOCATE 18,2: PRINT "100 CLS 'BILDSCHIRM FREI": GOSUB 70
210 GOSUB 60
211 LOCATE 7,2: PRINT "110 PRINT 'AUSGABE ERGEBNISSE'"
212 LOCATE 8,2: PRINT "120 PRINT 'ARTIKEL',' NETTO ', 'BRUTTO '"
213 LOCATE 9,2: PRINT "130 FOR N=1 TO I 'ZÄHLER ALS SCHLEIFE"
214 LOCATE 10,2: PRINT "140 BRUTTO(T)=NETTO(T)+NETTO(T)/100*MWST)"
215 LOCATE 11,2: PRINT "150 BRUTTO(T)=INT(BRUTTO(T)*100+.5)/100"
216 LOCATE 12,2: PRINT "160 PRINT AR$(T),NETTO(T),BRUTTO(T)"
217 LOCATE 13,2: PRINT "170 NEXT T 'SCHLEIFENENDE"
218 LOCATE 14,2: PRINT "180 END 'PROGRAMMENDE"
219 LOCATE 16,2: PRINT "zu Zeile 150..."
220 LOCATE 17,2: PRINT "Die kaufmännische Rundungsformel lautet:"
221 LOCATE 18,2: PRINT "VARIABLE = INT (VARIABLE * 100 + .5) / 100"
222 LOCATE 19,2: PRINT "So wird nach dem Komman auf 2 Stellen auf-/abgerundet."
230 LOCATE 20,1: PRINT STRING$(79,205)
231 LOCATE 21,1: COLOR 0,15: PRINT SPACE$(79)
232 LOCATE 21,10: PRINT "PROGRAMM ENDE WIEDERHOLEN = W HAUPTMENÜ LADEN = ESC ": COLOR 15,0
233 LOCATE 22,1: PRINT STRING$(79,205)
240 E$=INKEY$: IF E$="" THEN 240
241 IF E$="W" OR E$="w" THEN 100
242 IF E$=CHR$(27) THEN 19
243 GOTO 240