(Gast)
n/a Beiträge
|
AW: Erstellen eines Datum-überprüfers
16. Mai 2021, 19:29
@Delphi.Narium. Super gemacht alles drin und die Rückgabe so wie sie sein sollte.
Kleine Einschränkung Formatierung könnte besser sein. Aber jedem das seine.
Meine wäre so! LOL..
Delphi-Quellcode:
program ueb03;
{$APPTYPE CONSOLE}
{$R+,Q+ X-}
uses
System.SysUtils;
var
Tag: Integer;
Monat: Integer;
Jahr: Integer;
TagOK: Boolean;
MonatOk: Boolean;
JahrOk: Boolean;
IstSchaltjahr: Boolean;
begin
write('Bitte den Tag eingeben ');
readln(Tag);
write('Bitte den Monat eingeben ');
readln(Monat);
write('Bitte das Jahr eingeben ');
readln(Jahr);
TagOK := (Tag >= 1) and (Tag <= 31);
MonatOk := (Monat >= 1) and (Monat <= 12);
JahrOk := (Jahr >= 1) and (Jahr <= 3000);
IstSchaltjahr := (Jahr mod 4 = 0) and (Jahr mod 100 <> 0) or
(Jahr mod 400 = 0);
if TagOK and MonatOk and JahrOk then
begin
case Monat of
2:
case IstSchaltjahr of
true:
TagOK := (Tag <= 29);
false:
TagOK := (Tag <= 28);
end;
1, 3, 5, 7, 8, 10, 12:
TagOK := (Tag <= 31);
4, 6, 9, 11:
TagOK := (Tag <= 30);
end;
end;
writeln('Als Datum wurde der ', Tag, '.', Monat, '.', Jahr, ' eingegeben:');
case TagOK of
true:
writeln('Der Tag ', Tag, ' ist gültig.');
false:
writeln('Der Tag ', Tag, ' ist ungültig.');
end;
case MonatOk of
true:
writeln('Der Monat ', Monat, ' ist gültig.');
false:
writeln('Der Monat ', Monat, ' ist ungültig.');
end;
case JahrOk of
true:
writeln('Das Jahr ', Jahr, ' liegt im zulässigen Bereich.');
false:
writeln('Das Jahr ', Jahr, ' liegt ausserhalb des zulässigen Bereiches.');
end;
case JahrOk and IstSchaltjahr of
true:
writeln('Bei dem Jahr ', Jahr, ' handelt es sich um ein Schaltjahr.');
false:
writeln('Bei dem Jahr ', Jahr,
' handelt es sich nicht um ein Schaltjahr.');
end;
readln;
end.
|
|
Zitat
|