Entwickler-Ecke
Sonstiges (Delphi) - Problem bei einem Schaltjahrberechner-Programm
Pazzii - Di 19.04.05 13:30
Titel: Problem bei einem Schaltjahrberechner-Programm
Hallo,
ich habe mal so zum Spaß eben einen Schaltjahrberechner gemacht, bei dem man die Jahreszahl eingeben muss,
und das Programm überprüft dann, ob dieses Jahr ein Schaltjahr ist.
In dem Programm ist "Edit1" das Eingabefeld der Jahreszahl und "Edit2" das Ausgabefeld (Es erscheint eine
Meldung mit "ja" oder "nein"!).
Mein "procedure" sieht so aus:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.Button1Click(Sender: TObject); var a:integer; begin a:=StrToInt(edit1.text); if (a mod 4=0) or (a mod 100<> 0) or (a mod 400=0) then edit2.text:='ja' else edit2.text:='NÖ!' end; |
Bitte bedenkt, dass ich ein ziemlicher Anfänger bin und vielleicht einen simplen Fehler übersehen hab,
aber ich komm grad echt ned drauf.
Danke schon mal für eure Hilfe.
Übrigens: SO, wie er jetzt ist, kommt beim Berechner immer "Ja!".
Moderiert von
Gausi: Delphi-Tags hinzugefügt.
jasocul - Di 19.04.05 13:48
:welcome: im DF.
Da du in deinem if alles mit or verknüpft hast, genügt es, wenn EINE der Bedingungen erfüllt ist.
Somit ist jedes durch 4 teilbare Jahr ein Schaltjahr. Da außerdem alle anderen Jahre nicht durch 100 teilbar sind, ist für alle anderen Fälle auch diese Bedingung erfüllt.
Da du gerade am Üben bist, lasse ich dich jetzt mal weitermachen ohne dir zu sagen, wie es richtig aussehen muss.
Pazzii - Di 19.04.05 13:58
Danke für den Tipp mit den Verknüpfungen,
hier meine Antwort 8) :
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.Button1Click(Sender: TObject); var a:integer; begin a:=StrToInt(edit1.text); if (a mod 4=0) or (a mod 400=0) [b]and[/b] (a mod 100<> 0) then edit2.text:='ja' else edit2.text:='NÖ!' end; |
Schönen Tach noch und danke nochmal :lol:
Moderiert von
Gausi: Delphi-Tags hinzugefügt.
fvolk - Di 19.04.05 17:32
Ohne deinen Arbeitseifer bremsen zu wollen (denn selbstgemacht ist bekanntlicherweise am besten, weil man weiß, was passiert) ... gab's da nicht mal die wunderbare Delphi-Funktion IsLeapYear()?
*klugscheiß*
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!