Datumsprüfung...
wenn monat < 1 oder monat > 12 => fehler
wenn tag < 1 => fehler
wenn monat in 1, 3, 5, 7, 8, 10, 12:
  wenn tag > 31 => fehler
wenn monat in 4, 6, 9, 11
  wenn tag > 30 => fehler
sonst (monat == 2)
  wenn schaltjahr()
    wenn tag > 29 => fehler
  sonst
    wenn tag > 28 => fehler
Schaltjahr-Test...
  wenn jahr modulo 4 ungleich 0
    => kein Schaltjahr
  sonst
    wenn jahr modulo 100 ungleich 0
      => Schaltjahr
    sonst
      wenn jahr modulo 400 gleich 0
        => Schaltjahr
      sonst
        => kein Schaltjahr
Wochentag ermitteln:
Also ich hab das damals (ja, ich hab auch mal son Programm geschrieben) so gemacht, dass ich die Entfernung in Tagen zu einem mir bekannten Tag gezählt habe... hat gut funktioniert.
viel spass beim haxx0rn ;-)