Hallo allerseits!
In der Schule schreiben wir zur Zeit ein Programm mit Delphi, dass uns den Wochentag eines eigegebenen Datums nennt, vornehmlich soll es dazu dienen, den Wochentag des eigenen Geburtstages zu erfahren/errechnen.
Dazu haben wir eine Funktion geschrieben, die uns die Anzahl der bisher vergangenen Tage des eingegebenen Jahres errechnet. Heute habe ich aber gemerkt, dass sich das Programm verrechnet und ich daher einen Fehler im Quellcode haben muss.
z.B. wenn man den 30.12. eingibt werden 368(369 im Schaltjahr) vergangene Tage angezeigt, wobei es nur 364 bzw. 365 im Schaltjahr sind.
Delphi-Quellcode:
function TKalender.CalcDays (pTag:integer; pMonat:integer; pSchalt:boolean) : integer;
var I,Days :integer;
begin
Days := 0;
for I := 1 to pMonat - 1 do
begin
if I=2 then
if pSchalt then
Days := Days + 29
else Days := Days + 28
else if (I=4 or 6 or 9 or 11) then
Days := Days + 30
else Days := Days + 31;
end;
Days := Days + pTag;
result := Days;
end;
Das ist der Quellcode. Könnte mir einer von euch helfen, den Fehler zu finden?