![]() |
Problem mit if abfrage
Hallo,
ich hab folgendes problem: ich habe eine rechnung, deren ergebnis nicht negativ (sprich unter null) sein darf. falls dies doch der fall sein sollte, soll zu meinem ergebnis solange 7 addiert werden, bis eine positive zahlt entsteht. ich habe es mit:
Delphi-Quellcode:
probiert, aber dies funktioniert leider nicht
if w < 0
then w:= w + 7; hat mir vielleicht jemand einen lösungsvorschlag? wäre echt cool MFG Holz |
Re: Problem mit if abfrage
Solange, bis -> repeat ... until bzw. while ... do
|
Re: Problem mit if abfrage
[delphi]while w = 0
do w:= w + 7; repeat until w > 0; [/delphi} funktioniert nicht |
Re: Problem mit if abfrage
Delphi-Quellcode:
while w < 0 do
w := w + 7; |
Re: Problem mit if abfrage
geht immer noch nicht
hier mal den vollständigen quelltext:
Delphi-Quellcode:
vielleicht mach ich ja was anderes falsch
procedure TForm1.OnClick(Sender: TObject);
var t, m, j, w, y, c: integer; begin // t = Tag, m = Monat, j = Jahr t := StrToInt (Edit1.Text); m := StrToInt (Edit2.Text); j := StrToInt (Edit3.Text); // Zusatzangaben vom Aufgabenblatt y := j mod 100; c := j div 100; // Rechnung w := (t+(13*(m+1))div 5 + y + y div 4 + c div 4 - 2*c) mod 7; // Abfragen für w --> Welcher Wochentag ist? if (w = 1) then Edit4.Text := 'Sonntag'; if (w = 2) then Edit4.Text := 'Montag'; if (w = 3) then Edit4.Text := 'Dienstag'; if (w = 4) then Edit4.Text := 'Mitwoch'; if (w = 5) then Edit4.Text := 'Donnerstag'; if (w = 6) then Edit4.Text := 'Freitag'; if (w = 0) then Edit4.Text := 'Samstag'; // Problem für Zahlen die Kleiner 0 Werden --> Entsteht im Januer und Februar while w < 0 do w := w + 7; end; |
Re: Problem mit if abfrage
Ganz am Ende der Prozedur nützt das ja auch nichts mehr.
Delphi-Quellcode:
procedure TForm1.OnClick(Sender: TObject);
var t, m, j, w, y, c: integer; begin // t = Tag, m = Monat, j = Jahr t := StrToInt (Edit1.Text); m := StrToInt (Edit2.Text); j := StrToInt (Edit3.Text); // Zusatzangaben vom Aufgabenblatt y := j mod 100; c := j div 100; // Rechnung w := (t+(13*(m+1))div 5 + y + y div 4 + c div 4 - 2*c) mod 7; // Problem für Zahlen die Kleiner 0 Werden --> Entsteht im Januer und Februar while w < 0 do w := w + 7; {mach das besser mit case // Abfragen für w --> Welcher Wochentag ist? if (w = 1) then Edit4.Text := 'Sonntag'; if (w = 2) then Edit4.Text := 'Montag'; if (w = 3) then Edit4.Text := 'Dienstag'; if (w = 4) then Edit4.Text := 'Mitwoch'; if (w = 5) then Edit4.Text := 'Donnerstag'; if (w = 6) then Edit4.Text := 'Freitag'; if (w = 0) then Edit4.Text := 'Samstag';} case w of 1: Edit4.Text := 'Sonntag'; 2: Edit4.Text := 'Montag'; //... etc. end; end; |
DP-Maintenance
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "Sonstige Fragen zu Delphi" verschoben.
Delphi-Frage |
Re: Problem mit if abfrage
danke so funktionierts
echt vielen lieben dank |
Re: Problem mit if abfrage
hallo holzi,
kannst mal sagen was dein qText so macht???? ich hab hier keinen plan... etwas programmdokumentation würd schon gut tun... sonst gibts nur suboptimale lösungen... |
Re: Problem mit if abfrage
Zu einem Datum den Wochentag berechnen. Ja, das geht auch einfacher.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz