Pascal Lohnabrechnungs-Rechner

Status
Für weitere Antworten geschlossen.

David94392

Cadet 4th Year
Registriert
Apr. 2010
Beiträge
69
Hallo, habe das Problem, dass ich nicht weiß, wie ich die Prozedur doMain gestalten soll, da der Ablauf der Prozeduren ja nicht immer identisch ist, desweiteren wäre es nett wenn Ihr mir von Tipps oder Fehlern, die euch auffallen berichtet. Danke :-).




program Lohnabrechnung;

uses crt;

procedure under1000 ( Bruttowert : real);
Sozialabgaben : real;
Nettowert : real;

begin
Sozialabgaben := Bruttowert / (15 / 100);
Nettowert := Bruttowert - Sozialabgaben;
gotoXY (10, 09); write ('Dies ist der Nettowert: ');
gotoXY (10, 10); write ('Die Summe der Sozialabgaben: ');
gotoXY (33, 09); write (Nettowert);
gotoXY (40, 10); write (Sozialabgaben);
end;

procedure under1500 ( Bruttowert : real);
Lohnsteuer : real;
Kirchensteuer : real;
Sozialabgaben : real;
Nettowert : real;

begin
Sozialabgaben := Bruttowert / (15 / 100);
Lohnsteuer := Bruttowert / (20 / 100);
Kirchensteuer := Lohnsteuer / (10 / 100);
Nettowert := Bruttowert - (Sozialabgaben + Lohnsteuer + Kirchensteuer);
gotoXY (10, 09); write ('Dies ist der Nettowert: ');
gotoXY (10, 10); write ('Die Summe der Sozialabgaben: ');
gotoXY (10, 11); write ('Die Summe der Lohnsteuer: ');
gotoXY (10, 12); write ('Die Summe der Kirchensteuer: ');
gotoXY (35, 09); write (Nettowert);
gotoXY (41, 10); write (Sozialabgaben);
gotoXY (37, 11); write (Lohnsteuer);
gotoXY (42, 12); write (Kirchensteuer);
end;

procedure under2200 ( Bruttowert : real);
Lohnsteuer : real;
Kirchensteuer : real;
Sozialabgaben : real;
Nettowert : real;

begin
Sozialabgaben := Bruttowert / (15 / 100);
Lohnsteuer := Bruttowert / (23.5 / 100);
Kirchensteuer := Lohnsteuer / (10 / 100);
Nettowert := Bruttowert - (Sozialabgaben + Lohnsteuer + Kirchensteuer);
gotoXY (10, 09); write ('Dies ist der Nettowert: ');
gotoXY (10, 10); write ('Die Summe der Sozialabgaben: ');
gotoXY (10, 11); write ('Die Summe der Lohnsteuer: ');
gotoXY (10, 12); write ('Die Summe der Kirchensteuer: ');
gotoXY (35, 09); write (Nettowert);
gotoXY (41, 10); write (Sozialabgaben);
gotoXY (37, 11); write (Lohnsteuer);
gotoXY (42, 12); write (Kirchensteuer);
end;

procedure under3000 ( Bruttowert : real);
Lohnsteuer : real;
Kirchensteuer : real;
Sozialabgaben : real;
Nettowert : real;

begin
Sozialabgaben := Bruttowert / (15 / 100);
Lohnsteuer := Bruttowert / (27.5 / 100);
Kirchensteuer := Lohnsteuer / (10 / 100);
Nettowert := Bruttowert - (Sozialabgaben + Lohnsteuer + Kirchensteuer);
gotoXY (10, 09); write ('Dies ist der Nettowert: ');
gotoXY (10, 10); write ('Die Summe der Sozialabgaben: ');
gotoXY (10, 11); write ('Die Summe der Lohnsteuer: ');
gotoXY (10, 12); write ('Die Summe der Kirchensteuer: ');
gotoXY (35, 09); write (Nettowert);
gotoXY (41, 10); write (Sozialabgaben);
gotoXY (37, 11); write (Lohnsteuer);
gotoXY (42, 12); write (Kirchensteuer);
end;

procedure under4500 ( Bruttowert : real);
Lohnsteuer : real;
Kirchensteuer : real;
Sozialabgaben : real;
Nettowert : real;

begin
Sozialabgaben := Bruttowert / (15 / 100);
Lohnsteuer := Bruttowert / (35 / 100);
Kirchensteuer := Lohnsteuer / (10 / 100);
Nettowert := Bruttowert - (Sozialabgaben + Lohnsteuer + Kirchensteuer);
gotoXY (10, 09); write ('Dies ist der Nettowert: ');
gotoXY (10, 10); write ('Die Summe der Sozialabgaben: ');
gotoXY (10, 11); write ('Die Summe der Lohnsteuer: ');
gotoXY (10, 12); write ('Die Summe der Kirchensteuer: ');
gotoXY (35, 09); write (Nettowert);
gotoXY (41, 10); write (Sozialabgaben);
gotoXY (37, 11); write (Lohnsteuer);
gotoXY (42, 12); write (Kirchensteuer);
end;

procedure over4500 ( Bruttowert : real);
Lohnsteuer : real;
Kirchensteuer : real;
Sozialabgaben : real;
Nettowert : real;
begin
Sozialabgaben := Bruttowert / (15 / 100);
Lohnsteuer := Bruttowert / (37 / 100);
Kirchensteuer := Lohnsteuer / (10 / 100);
Nettowert := Bruttowert - (Sozialabgaben + Lohnsteuer + Kirchensteuer);
gotoXY (10, 09); write ('Dies ist der Nettowert: ');
gotoXY (10, 10); write ('Die Summe der Sozialabgaben: ');
gotoXY (10, 11); write ('Die Summe der Lohnsteuer: ');
gotoXY (10, 12); write ('Die Summe der Kirchensteuer: ');
gotoXY (35, 09); write (Nettowert);
gotoXY (41, 10); write (Sozialabgaben);
gotoXY (37, 11); write (Lohnsteuer);
gotoXY (42, 12); write (Kirchensteuer);
end;

(*Ab hier folgen die Prozeduren/Routinen für die Berechnung von Netto zu Brutto*)

procedure under10001 ( Nettowert : real);
Sozialabgaben : real;
Bruttowert : real;

begin
Sozialabgaben := Nettowert / (15 / 100);
Bruttowert := Nettowert * (Sozialabgaben);
gotoXY (10, 09); write ('Dies ist der Bruttowert: ');
gotoXY (10, 10); write ('Die Summe der Sozialabgaben: ');
gotoXY (34, 09); write (Bruttowert);
gotoXY (40, 10); write (Sozialabgaben);
end;

procedure under15001 ( Nettowert : real);
Lohnsteuer : real;
Kirchensteuer : real;
Sozialabgaben : real;
Bruttowert : real;

begin
Sozialabgaben := Nettowert * (15 / 100);
Lohnsteuer := Nettowert * (20 / 100);
Kirchensteuer := Lohnsteuer * (10 / 100);
Bruttowert := Nettowert + (Sozialabgaben + Lohnsteuer + Kirchensteuer);
gotoXY (10, 09); write ('Dies ist der Bruttowert: ');
gotoXY (10, 10); write ('Die Summe der Sozialabgaben: ');
gotoXY (10, 11); write ('Die Summe der Lohnsteuer: ');
gotoXY (10, 12); write ('Die Summe der Kirchensteuer: ');
gotoXY (36, 09); write (Bruttowert);
gotoXY (41, 10); write (Sozialabgaben);
gotoXY (37, 11); write (Lohnsteuer);
gotoXY (42, 12); write (Kirchensteuer);
end;

procedure under22001 ( Nettowert : real);
Lohnsteuer : real;
Kirchensteuer : real;
Sozialabgaben : real;
Bruttowert : real;

begin
Sozialabgaben := Nettowert * (15 / 100);
Lohnsteuer := Nettowert * (23.5 / 100);
Kirchensteuer := Lohnsteuer * (10 / 100);
Bruttowert := Nettowert + (Sozialabgaben + Lohnsteuer + Kirchensteuer);
gotoXY (10, 09); write ('Dies ist der Bruttowert: ');
gotoXY (10, 10); write ('Die Summe der Sozialabgaben: ');
gotoXY (10, 11); write ('Die Summe der Lohnsteuer: ');
gotoXY (10, 12); write ('Die Summe der Kirchensteuer: ');
gotoXY (36, 09); write (Bruttowert);
gotoXY (41, 10); write (Sozialabgaben);
gotoXY (37, 11); write (Lohnsteuer);
gotoXY (42, 12); write (Kirchensteuer);
end;

procedure under30001 ( Nettowert : real);
Lohnsteuer : real;
Kirchensteuer : real;
Sozialabgaben : real;
Bruttowert : real;

begin
Sozialabgaben := Nettowert * (15 / 100);
Lohnsteuer := Nettowert * (27.5 / 100);
Kirchensteuer := Lohnsteuer * (10 / 100);
Bruttowert := Nettowert + (Sozialabgaben + Lohnsteuer + Kirchensteuer);
gotoXY (10, 09); write ('Dies ist der Bruttowert: ');
gotoXY (10, 10); write ('Die Summe der Sozialabgaben: ');
gotoXY (10, 11); write ('Die Summe der Lohnsteuer: ');
gotoXY (10, 12); write ('Die Summe der Kirchensteuer: ');
gotoXY (36, 09); write (Bruttowert);
gotoXY (41, 10); write (Sozialabgaben);
gotoXY (37, 11); write (Lohnsteuer);
gotoXY (42, 12); write (Kirchensteuer);
end;

procedure under45001 ( Nettowert : real);
Lohnsteuer : real;
Kirchensteuer : real;
Sozialabgaben : real;
Bruttowert : real;

begin
Sozialabgaben := Nettowert * (15 / 100);
Lohnsteuer := Nettowert * (35 / 100);
Kirchensteuer := Lohnsteuer * (10 / 100);
Bruttowert := Nettowert + (Sozialabgaben + Lohnsteuer + Kirchensteuer);
gotoXY (10, 09); write ('Dies ist der Bruttowert: ');
gotoXY (10, 10); write ('Die Summe der Sozialabgaben: ');
gotoXY (10, 11); write ('Die Summe der Lohnsteuer: ');
gotoXY (10, 12); write ('Die Summe der Kirchensteuer: ');
gotoXY (36, 09); write (Bruttowert);
gotoXY (41, 10); write (Sozialabgaben);
gotoXY (37, 11); write (Lohnsteuer);
gotoXY (42, 12); write (Kirchensteuer);
end;

procedure over45001 ( Nettowert : real);
Lohnsteuer : real;
Kirchensteuer : real;
Sozialabgaben : real;
Bruttowert : real;

begin
Sozialabgaben := Nettowert * (15 / 100);
Lohnsteuer := Nettowert * (37 / 100);
Kirchensteuer := Lohnsteuer * (10 / 100);
Bruttowert := Nettowert + (Sozialabgaben + Lohnsteuer + Kirchensteuer);
gotoXY (10, 09); write ('Dies ist der Bruttowert: ');
gotoXY (10, 10); write ('Die Summe der Sozialabgaben: ');
gotoXY (10, 11); write ('Die Summe der Lohnsteuer: ');
gotoXY (10, 12); write ('Die Summe der Kirchensteuer: ');
gotoXY (36, 09); write (Bruttowert);
gotoXY (41, 10); write (Sozialabgaben);
gotoXY (37, 11); write (Lohnsteuer);
gotoXY (42, 12); write (Kirchensteuer);
end;

procedure Nettolohn;

var a : real;

begin
gotoXY (10, 05); write ('Bitte geben Sie den Bruttolohn ein: ');
readLn (a);
if (a > 0) and (a < 1000)
then under1000 (a)
else if (a >= 1000) and (a < 1500)
then under1500 (a)
else if (a >= 1500) and (a < 2200)
then under2200 (a)
else if (a >= 2200) and (a < 3000)
then under3000 (a)
else if (a >= 3000) and (a < 4500)
then under4500 (a)
else
over4500 (a);
end;

procedure Bruttolohn;

var a : real;

begin
gotoXY (10, 05); write ('Bitte geben Sie den Nettolohn ein: ');
readLn (a);
if (a > 0) and (a < 1000)
then under10001 (a)
else if (a >= 1000) and (a < 1500)
then under15001 (a)
else if (a >= 1500) and (a < 2200)
then under22001 (a)
else if (a >= 2200) and (a < 3000)
then under30001 (a)
else if (a >= 3000) and (a < 4500)
then under45001 (a)
else
over45001 (a);
end;

procedure enter;

var number1 : byte;

begin
gotoXY (10, 03); write ('1 = Nettolohn, 2 = Bruttolohn');
readLn (number1);
if (number1 = 1)
then Nettolohn
else if (number1 = 2)
then Bruttolohn
else
gotoXY (10, 05); write ('Bitte wählen Sie Option 1 oder 2!');
end;

procedure doMain;

begin
clrScr;
enter;
end;

begin
doMain;
end.
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
Zurück
Oben