Ich noch mal.
Ansich gilt in Prüfungen immer das Aufgaben als veranfacht angesehen werden können (so können z.B. Schaltjahre ignoriert werden). Ansich geht es ja nicht darum das der Algorithmus perfekt ist, sondern das der Prüfer erkennen kann, dass man die Sache verstanden hat und umsetzen kann. Darum sind meist auch vorhandene Hilfsmittel (wie z.B. DateDiff-Funktion) nicht erlaubt.
Hier eine alternative Lösung:
Dim d() As Variant
Dim monat As Byte
Dim tag As Byte
Dim tage As Integer
Dim idx As Byte
'Tage je Monat (ohne den Zusätzlichen Tag im Februar)
d = Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
'>> Eingabe durch Nutzer erfolgt hier:
' (und natürlich ebenfalls die Validierung der Eingaben - auf beides wird hier jedoch verzichtet)
monat = 2 '1-12
tag = 29 '1-31
'<<
For idx = 0 To monat - 2
tage = tage + d(idx)
Next
tage = tage + tag
Debug.Print "Der " & tag & "." & monat & ". ist der " & tage & ". Tag im Jahr"
Gruß & maximale Erfolge
|