Registriert seit: 16. Mai 2021
59 Beiträge
Delphi 10.3 Rio
|
AW: Erstellen eines Datum-überprüfers
16. Mai 2021, 18:30
Dankeschön, ich habe es nochmal korrigiert, außer das mit dem ersten If da es ja auch überprüft ob der Tag >= 1 ist, falls eine negative Zahl eingegeben wird, sollte es dann die Fehlermeldung anzeigen.
Hier nochmal die korrigierte Version:
Delphi-Quellcode:
{$APPTYPE CONSOLE}
{$R+,Q+ X-}
uses
System.SysUtils;
var
Tag: integer;
Monat: integer;
Jahr: integer;
begin
write('Bitte den Tag eingeben ');
readln(Tag);
write('Bitte den Monat eingeben ');
readln(Monat);
write('Bitte das Jahr eingeben ');
readln(Jahr);
if (Tag >= 1) and (Tag <= 31) then
if (Monat >= 1) and (Monat <= 12) then
if (Jahr >= 1) and (Jahr <= 3000) then
case Monat of
2:
begin
if (Jahr mod 4 = 0) and (Jahr mod 100 <> 0) or (Jahr mod 400 = 0)
then
begin
if (Tag <= 29) then
begin
writeln(Tag, ' ist zulässig.');
readln;
end
else
begin
writeln(Tag, ' ist unzulässig.');
readln;
end;
end
else
begin
if (Tag <= 28) then
writeln(Tag, ' ist zulässig.')
else
writeln(Tag, ' ist unzulässig.');
end;
end;
1, 3, 5, 7, 8, 10, 12:
begin
if (Tag <= 31) then
begin
writeln('Der ', Tag, '. ist gültig.');
readln;
end
else
begin
writeln('Der ', Tag,'. ist ungültig.');
readln;
end;
end;
4, 6, 9, 11:
begin
if (Tag <= 30) then
begin
writeln('Der ', Tag, '. ist gültig.');
readln;
end
else
begin
writeln('ungültig');
readln;
end;
end;
end
else
begin
writeln('Jahr ungültig.');
readln;
end
else
begin
writeln('Monat ungültig.');
readln;
end
else
begin
writeln('Tag ungültig.');
readln;
end;
end.
|
|
Zitat
|