>> Wie das Schaltjahr die ganzen Zunes gefragged hat...

Published by on 2009-01-04 04:56:51

Kann man hier nachlesen. Mal als Gehirnmuskelspielchen zum selber raten. Das Datum wird von der Systemuhr in "Tagen seit 1980" gerechnet. Was ist falsch an folgendem Code:

year = ORIGINYEAR; /* = 1980 */
while (days > 365)
{
if (IsLeapYear(year))
{
if (days > 366)
{
days -= 366;
year += 1;
}
}
else
{
days -= 365;
year += 1;
}
}

(Weiterlesen für die Lösung!)

Na, wer hat's gesehen? Er zieht im Grunde die Tage Jahresweise ab, bis er "weniger Tage als ein Jahr hat".

1. Wir haben ein Schaltjahr.
2. Der 31.12. ist also der 366 Tag.
3. Er meint also:
days>365 (true)
IsLeapYear(true)
days>366 (false) << hupps... tja... da hat wohl einer den Fall vergessen, dass man sich auch IN einem Schaltjahr befinden kann, und dann... naja *g* - da gibt's einfach keinen Code für. Ergo bleibt die Tageszahl bei 366 stehen... 4. goto 10

Categorised as: Ähwas, Cycle, defectiveByDesign, trash

1 Comment

  • Comment from Florian on 2009-01-04 19:46

    Ups :)