Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Verzweigungen in Delphi 6.0??? (https://www.delphipraxis.net/99025-verzweigungen-delphi-6-0-a.html)

MaxD007 5. Sep 2007 18:58


Verzweigungen in Delphi 6.0???
 
Hi leute,

wir haben in der Schule folgende Aufgabe bekommen:

4. Es ist ein Programm zu erstellen, mit dem man den Bruttoarbeitslohn für einen Mitarbeiter berechnen kann. Für die Berechnung des Bruttolohnes bei Überstunden gilt folgende Regelung: Solange die Überstunden bis zu 10% der monatlichen Sollstunden betragen, wird dem Mitarbeiter für jede Überstunde ein Überstundenzuschlag von 25% seines Stundenlohnes zusätzlich vergütet. Übersteigen die Überstunden die 10% Grenze, so soll dem Mitarbeiter für jede Überstunde ein Zuschlag von 30% gezahlt werden. Einzugebende Daten sind die Monatssollstunden, die Iststunden und der Stundenlohn.


Wir müssen das bis freitag haben und ich bekomme das Programm ein fach nicht zum
laufen :wall: :wall: :wall:

Bitte helft mir :roll:

wir machen noch nicht sehr lange Delphi, ich kopier euch mal nachfolgend meine programmierung rein,
vlt. wieß ja einer warum das nicht klappt!!!????

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);

var stundenlohn, pflichtstunden, stundengesamt, ueberstunden, bruttolohn,
    rabatt1,rabattbetrag, rabatt2, rabattbetrag2, rabatt3 : double;

begin

        stundenlohn := strtofloat (ED_STUNDENLOHN.Text);
        pflichtstunden := strtofloat (ED_PFLICHTSTUNDEN.Text);
        stundengesamt := strtofloat (ED_STUNDENGESAMT.Text);


         ueberstunden := stundengesamt - pflichtstunden;

         rabattbetrag := (ueberstunden/100)* 25;

         rabattbetrag2 := (ueberstunden/100)*30;


         rabatt3 := 0;
         if stundengesamt >= pflichtstunden then begin

         rabatt1 := (ueberstunden*rabattbetrag)+pflichtstunden;
         end

        else
        begin
        if stundengesamt >= rabatt1 then begin
        rabatt2 := (ueberstunden*rabattbetrag2)+pflichtstunden;
        end
        else
        begin
        if (stundengesamt = pflichtstunden) or (stundengesamt <= pflichtstunden) then begin
        rabatt3 := 0 ;
        end;
        end;





        bruttolohn := pflichtstunden*stundenlohn;



        ED_BRUTTOLOHN.text := floattostr (bruttolohn);
         end;


end;

end.

Vielen Danke im Voraus!!!

Gruß MaxD


[edit=Matze][delphi]-Tags gesetzt. Zukünftig bitte selbst machen. MfG, Matze[/edit]

mkinzler 5. Sep 2007 19:06

Re: Verzweigungen in Delphi 6.0???
 
Vielleicht könntest du mal die einzelnen Alternativen verbal umreissen, so daß wir überhaupt beurteilen können, was der Code machen soll.
Delphi-Quellcode:
if (stundengesamt = pflichtstunden) or (stundengesamt <= pflichtstunden)
kannst du zu
Delphi-Quellcode:
if stundengesamt <= pflichtstunden
verkürzen
Die Typumwandlungen würde ich mit TryStrToFloat machen oder in try..except-Blöcke packen.

MaxD007 5. Sep 2007 19:12

Re: Verzweigungen in Delphi 6.0???
 
meinst du was die Variablen im einzelnen bedeuten??

mkinzler 5. Sep 2007 19:24

Re: Verzweigungen in Delphi 6.0???
 
Delphi-Quellcode:
usproz := ueberstunden/pflichstunden * 100;

if usproz <= 10 then
begin
    proz := 25;
end
else
begin
    proz := 30;
end;

bruttolohn := pflichtstunden*stundenlohn;

if ueberstunden > 0 then bruttolohn := bruttolohn + uerberstunden *stundenlohn*proz;

MaxD007 5. Sep 2007 20:09

Re: Verzweigungen in Delphi 6.0???
 
danke!!!


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz