home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Input 64
/
Input_64_85-04_1985_Verlag_Heinz_Weise_de.d64
/
EINKOMMENSTEUERT
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2023-02-26
|
8KB
|
269 lines
100 poke50257,0
110 poke 53280,10: poke 53281,0
120 print chr$(147);chr$(14);chr$(8);
130 z=0: f=9: gosub 60610
140 print "[149] [197]inkommenssteuertabelle";
150 z=1: f=8: gosub 60610
170 z=24: f=8: gosub 60610
180 print "[149] [198]ehler : [146]";
190 ft$=" o.k. !": gosub 60210
510 gosub 60910
515 so$="[129] [185][185][185][185]"
520 su$="[145][129] [184][184][184][184]"
525 kt$=" [205]enue ": gosub 60110
530 z=4: s=0: f=8: r=0: gosub 60410
550 print so$:print " [158] f1 [146] - [200]inweise"
560 print su$: print so$
570 print " [158] f3 [146] - [193]nfangswerte"
580 print su$: print so$
590 print " [158] f5 [146] - [193]usgabe": print su$
710 get c$: if c$="" goto 710
720 c=asc (c$)-132
730 if c<1 or c>3 goto 810
740 ft$=" o.k. !": gosub 60210
750 on c goto 1010, 2010, 3010
810 ft$=" [206]icht erlaubte [212]aste !": gosub 60210: goto 710
1010 kt$=" [200]inweise ": gosub 60110: goto 5110
2010 kt$="[193]nfangswerte": gosub 60110: gosub 60910
2040 z=4: s=0: f=7: r=0: gosub 60410
2070 print so$: print " [158] f1 [146] - [199]rundtabelle"
2080 print su$: print so$
2090 print " [158] f3 [146] - [211]plittingtabelle": print su$
2110 get c$: if c$="" goto 2110
2120 c=asc (c$)-132
2130 if c<1 or c>2 goto 2190
2140 ft$= " o.k. !": gosub 60210: gosub60910
2150 gosub 60910: z=4: s=3: f=7: r=0: gosub 60410
2155 on c goto 2160,2170
2160 print"[199]rundtabelle"
2165 tb=1: z=z+1: gosub 60450: print "[163][163][163][163][163][163][163][163][163][163][163][163]": goto 2210
2170 print "[211]plittingtabelle"
2180 tb=2: z=z+1: gosub 60450: print "[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]": goto 2210
2190 ft$=" [206]icht erlaubte [212]aste !": gosub 60210: goto 2110
2210 ft$=" o.k. !": gosub 60210: z=8: s=3: f=7: r=0: gosub 60410
2220 print "[193]nfangswert :";
2230 ez=8: es=18: gosub 60710: aw=val(ew$)
2260 z=10: s=3: f=7: r=0: gosub 60410
2270 print "[197]ndwert :";
2280 ez=10: es=18: gosub 60710: ew=val(ew$)
2310 if aw < ew goto 510
2320 ft$=" [197]ndwert <= [193]nfangswert !"
2330 gosub 60210: goto 510
3010 kt$=" [193]usgabe ": gosub 60110
3030 def fnsp(x)=7-(int(log(x)/log(10)))
3110 if tb=2 goto 3140
3120 la=54*int(aw/54): lb=la+53
3130 tb$=" [199]rundtabelle ": goto 3160
3140 la=108*int(aw/108): lb=la+107
3150 tb$="[211]plittingtabelle"
3160 zt=7: goto 4110
3210 lc=la: if tb=2 then lc=la/2
3230 if lc<4212 goto 3320
3240 if lc<18000 goto 3330
3250 if lc<59999 goto 3340
3260 if lc<129999 goto 3360
3310 ld=int(0.56*lc-14837): goto 3410
3320 ld=0: goto 3410
3330 ld=int(0.22*lc-926): goto 3410
3340 ld=(lc-18000)/10000
3350 ld=int((((3.05*ld-73.76)*ld+695)*ld+2200)*ld+3034): goto 3410
3360 ld=(lc-60000)/10000
3370 ld=int((((0.09*ld-5.45)*ld+88.13)*ld+5040)*ld+20018)
3410 if tb=2 then ld=ld+ld
3415 z=zt: s=1: gosub 60450:p1=7:p2=7:p3=7
3420 if la<>0 then p1=fnsp(la)
3430 if lb<>0 then p2=fnsp(lb)
3440 if ld<>0 then p3=fnsp(ld)
3450 s=0+p1: gosub 60450: print la;
3460 print "-";: s= 9+p2: gosub 60450: print lb;
3470 s=24+p3: gosub 60450: print ld;
3480 zt=zt+1: if zt<=19 goto 3510
3490 zt=7: ts=4: goto 6110
3510 if tb=2 goto 3530
3520 la=la+54: lb=lb+54: goto 3550
3530 la=la+108: lb=lb+108
3550 if la<=ew goto 3210
3560 ts=5: goto 6110
4110 gosub 60910: z=3: s=0: f=7: r=0: gosub 60410
4130 print"[182][183][183][183][183]";
4135 print"[183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183]";
4140 print"[183][183][183][183][183][183][183][183][183][181][182] [197]inkommen ";
4145 print" [181] [181]";
4150 print"[182][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175]";
4155 print"[175][175][175][175][175][175][175][175][175][175][175][175][175][175][181][182] ";
4160 print" ";
4165 print" [181][182] [181]";
4170 print" [181][182] ";
4175 print" [181] ";
4180 print" [181][182] ";
4185 print" [181] [181]";
4190 print"[182] [181] ";
4195 print" [181][182] ";
4200 print" [181] ";
4205 print" [181][182] [181]";
4210 print" [181][182] ";
4215 print" [181] ";
4220 print" [181][182] ";
4225 print" [181] [181]";
4230 print"[182] [181] ";
4235 print" [181][182] ";
4240 print" [181] ";
4245 print" [181][182] [181]";
4250 print" [181][182] ";
4255 print" [181] ";
4260 print" [181][182] ";
4265 print" [181] [181]";
4270 print"[182][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175]";
4275 print"[175][175][175][175][175][175][175][175][175][175][175][175][175][175][181] ";
4280 z=4: s=21: gosub 60450: print tb$;: goto 3210
5110 ts=0: gosub 60910
5120 z=3: s=1: f=7: r=0: gosub 60410
5140 print"1.[193][204][204][199][197][205][197][201][206][197][211] ";
5145 print" ";
5150 print" [163][163][163][163][163][163][163][163][163][163][163][163][163] ";
5155 print" [215]enn [211]";
5160 print"ie [201]hre [211]teuererklaeru";
5165 print"ng selbst machen wo";
5170 print"llen, benoetigen [211]i";
5175 print"e fuer die [197]rmittlung ";
5180 print"der zu zahlenden [211]t";
5185 print"euern eine [197]inkommens- ";
5190 print" steuertabelle. [205]it die";
5195 print"ser [212]abelle koennen";
5200 print" [211]ie feststellen ob: ";
5205 print" ";
5210 print" -";
5215 print" [211]ie bei [201]hrer [211]teuerklae";
5220 print"rung mit einer";
5225 print" [206]achzahlung rechen ";
5230 print" muessen, oder ob [211]i";
5235 print"e [211]teuern zuru";
5240 print"eckbekommen. ";
5245 print" ";
5250 print" -";
5255 print" das [198]inanzamt im [197]inkomm";
5260 print"ens- steuerbes";
5265 print"cheid ([204]ohnsteuerbe- ";
5270 print" scheid) die zu zahle";
5275 print"nde [211]teu- er r";
5280 print"ichtig berechnet hat. ";
5290 goto 6110
5310 rem t2
5330 print" -wieviel [211]teuern [211]ie spar";
5340 print"en, wenn [211]ie ";
5345 print" durch steuerlich ";
5350 print" beguenstigte [193]usga";
5355 print"ben [201]hr 'zu ";
5360 print"versteuerndes [197]inkommen' ";
5365 print" senken. ";
5370 print" ";
5375 print" ";
5380 print" [196]iese ";
5385 print"[197]inkommenssteuertabelle ";
5390 print" gilt unveraendert auc";
5395 print"h fuer die fo- lgende";
5400 print"n [202]ahre, solange der [211]te";
5405 print"uer- tarif nicht geae";
5410 print"ndert wird. [196]";
5415 print"ie [199]rundtabelle[146] gilt f";
5420 print"uer alle nicht verhe";
5425 print"irateten [208]ersonen, fuer ";
5430 print" die getrennt lebenden";
5435 print", sowie fuer die ge";
5440 print"trennt zu veranlagenden [197]";
5445 print"he- gatten. ";
5450 print" [198]";
5455 print"uer alle anderen gilt di";
5460 print"e [211]plit-[146] tingtabelle[146]";
5465 print". ";
5470 goto 6110
5610 rem t3
5630 print" [196]i";
5635 print"e [212]abelle im [208]rogramm rei";
5640 print"cht von ";
5645 print" ";
5650 print" 0 [196][205] - 999999 ";
5655 print"[196][205] [146]. ";
5660 print" ";
5665 print" 2.[194]enutzen des [208]rog";
5670 print"ramms [163][163]";
5675 print"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163] ";
5680 print" [218]unaechst e";
5685 print"rmitteln [211]ie [201]hr 'zu ";
5690 print" versteuerndes [197]inkomme";
5695 print"n'. [193]nleitun- gen daz";
5700 print"u entnehmen [211]ie entsprech";
5705 print"en- den [194]uechern, ode";
5710 print"r [194]roschueren der [203]o";
5715 print"mmunen und [198]inanzaemter. ";
5720 print" [205]it dem [208]rog";
5725 print"rammteil [193]nfangswerte[146] ";
5730 print" waehlen [211]ie [201]hre [212]abe";
5735 print"lle ([199]rund- oder [211]p";
5740 print"littingtabelle) aus. [205]it ";
5745 print"der [197]ingabe von [193]nfan";
5750 print"gswert und [197]ndwert er";
5755 print"halten [211]ie den entspreche";
5760 print"nden [212]a- bellenaussch";
5765 print"nitt. ";
5770 goto 6110
5910 rem t4
5930 print" [205]i";
5935 print"t [208]rogrammteil [193]usgabe[146] ";
5940 print"wird der [212]abellenauss";
5945 print"chnitt auf [194]ildschirm ";
5950 print" ausgegeben. ";
5955 print" [193]us der";
5960 print" [212]abelle lesen [211]ie die [200]o";
5965 print"ehe der zu zahlenden ";
5970 print"[202]ahressteuer ab. [206]a";
5975 print"ch [193]bzug der waehrend des";
5980 print" [202]ahres gezahlten [211]";
5985 print"teuern koennen [211]ie nun ";
5990 print" feststellen, ob [211]ie mi";
5995 print"t einer [210]ueck- erstatt";
6000 print"ung oder [206]achzahlung zu r";
6005 print"ech- nen haben. ";
6110 ts=ts+1: z=22: s=3: gosub 60450
6120 print "[215]eiter : w [146] [205]enue : m [146]"
6150 get c$: if c$="" goto 6150
6160 if c$="m" goto 510
6170 if c$<>"w" goto 6150
6180 gosub 60910
6190 z=3: s=1: gosub 60450
6200 on ts goto 5310,5610,5910,510,4110,510
60110 z=1: s=13: f=8: r=1: gosub 60410
60130 print kt$;: gosub 60510: return
60210 z=24: s=10: f=8: r=1: gosub 60410
60230 print " ";
60240 s=10: gosub 60450: print ft$;: gosub 60510
60270 z=az: s=as: f=af: r=ar: return
60410 az=peek(214):as=peek(211):ar=peek(199):af=peek(646)
60430 poke 199,r: poke 646,f
60450 poke 214,z: poke 211,s: sys 58640: return
60510 poke 199,ar: poke 646,af
60520 poke 214,az: poke 211,as: sys 58640: return
60610 s=0: r=1: gosub 60410
60630 print " ";
60640 poke 55295+(z+1)*40,f: poke 1023+(z+1)*40,160
60660 az=z: as=s: af=f: ar=r: gosub 60510: return
60710 poke 204,1: ew$="": zz=0: z=ez: s=es: gosub 60410
60715 print " ";: s=es: gosub 60450
60720 get w$: poke 204,0: if w$="" goto 60720
60730 w=asc(w$)
60740 if w=13 goto 60800
60745 if w=20 then 60710
60750 if w<48 or w>57 goto 60810
60760 zz=zz+1: if zz>6 goto 60850
60770 if ff<>0 then poke 204,1: ft$=" o.k. !": ff=0: gosub 60210
60780 ew$=ew$+w$
60790 s=es: z=ez: gosub 60450: print ew$;: goto 60720
60800 poke 204,1: print " ";: if zz=0 then print "[157]0";
60805 return
60810 ff=1: poke 204,1: ft$=" keine ziffer !": gosub 60210: goto 60720
60850 ff=1: poke 204,1: ft$=" [215]ert zu lang !": gosub 60210: goto 60710
60910 z=2: s=0: gosub 60450
60920 for i=1 to 22
60930 print " ";
60940 next: return