(Gast)
n/a Beiträge
|
programmiertechnisch besser?
25. Mär 2004, 15:11
Also habe wieder ein ganz effes Konsolenprogramm geschrieben und wollt fragen ob man vom Code was vereinfachen kann?
Also man rechnet die Differenz von 2 zeiten aus.
Delphi-Quellcode:
program Zeitzeugsmitdensekundennochdazu;
{$APPTYPE CONSOLE}
uses
sysutils;
Var Std1, Std2, Sek1, Sek2, Min1, Min2, Wert1, Wert2, Wert3, Wert4, ZEg, ZEg2, Egmin, Egstd, Egsek : Real;
begin
repeat
writeln ('Bitte geben sie die Stunden der ersten Zeit ein!');
readln (Std1);
until std1 < 25;
repeat
writeln ('Bitte geben sie die Minuten der ersten Zeit ein!');
readln (Min1);
until Min1 < 60;
repeat
writeln ('Bitte geben sie die Sekunden der ersten Zeit ein!');
readln (Sek1);
until Sek1 < 60;
repeat
writeln ('Bitte geben sie die Stunden der zweiten Zeit ein!');
readln (Std2);
until Std2 < 25;
repeat
writeln ('Bitte geben sie die Minuten der zweiten Zeit ein!');
readln (Min2);
until Min2 < 60;
repeat
writeln ('Bitte geben sie die Sekunden der zweiten Zeit ein!');
readln (Sek2);
until Sek2 < 60;
if Std1 > Std2 then
begin
Wert1 := Std1 + (Min1/60);
Wert2 := Std2 + (Min2/60);
Wert3 := ((Min1*100)/60) + (Sek1/60);
Wert4 := ((Min2*100)/60) + (Sek2/60);
ZEg := Wert1 - Wert2;
ZEg2 := Wert3 - Wert4;
Egstd :=int(ZEg);
Egmin :=(ZEg-int(ZEg))*60;
Egsek :=(ZEg2 - int(Zeg2)) * 60;
write ('Die Differrenz betraegt ', Egstd:0:1, ' Stunde(n) und ', Egmin:0:1, ' Minute(n) und ', Egsek:0:1, ' Sekunde(n).');
end;
if Std1 < Std2 then
begin
Wert1 := Std1 + (Min1/60);
Wert2 := Std2 + (Min2/60);
if sek1 < sek2 Then
begin
Wert3 := ((Min1*100)/60) + (Sek1/60);
Wert4 := ((Min2*100)/60) + (Sek2/60);
ZEg2 := Wert4 - Wert3;
end;
ZEg := Wert2 - Wert1;
Egstd :=int(ZEg);
Egmin :=(ZEg-int(ZEg))*60;
Egsek :=(ZEg2 - int(Zeg2)) * 60;
write ('Die Differrenz betraegt ', Egstd:0:1, ' Stunde(n) und ', Egmin:0:1, ' Minute(n) und ', Egsek:0:1, ' Sekunde(n).');
end;
readln;
end.
|
|
Zitat
|