Rausfinden wieviel Tage eine Monat hat abhängig vom Jahr?
-
Schreibe in VB6 ein kleines tool!
Da kann man via combobox das jahr 2000-2100 auswählen, und den Monat, nun sollte davon abhänigig die korrekte Taganzahl zurückgegeben werden!
-
Das einzige Problem ist doch der Februar, der Rest bleibt doch immer gleich. Die Schaltjahr-Regel gibts hier.
-
ich weis nich mal die tagesanzahl der restlichen monate^^Bei schaltjahr hat februar 29 statt 28 tage oder
-
Du kennst doch sicher den Knöcheltrick?!?
Du fängst an der linken Hand an zu zählen, jeder Knöchel steht für 31 Tage, die Vertiefung zwischen 2 Knöchel für 30 Tage, mit Ausnahme vom Feb.
Tja und wenn die linke Hand zu ende ist machst auf der Rechten weiter....
-
BorisDieKlinge schrieb:
Bei schaltjahr hat februar 29 statt 28 tage oder
Ja, genau

Die restlichen Monate kannst einfach rausfinden. Du machst deine Hände zu Fäusten und machst sie nebeneinander vor dich. Dann gehst du über die Hubbel (die beim Übergang von Finger in Handrücken sind) von links nach rechts drüber. Jeder Hubbel ist ein Monat von 31 Tagen, jeder Zwischenraum zwischen den Hubbeln ein Monat von 30 Tagen (bis auf Februar halt). Hoffe, das ist halbwegs anschaulich
-
d.h. mein knöchel des Zeigefingers ist der Januar?
Naja ist aber blöd keine muster dahinter.. muss wohl ein array machen
-
BorisDieKlinge schrieb:
d.h. mein knöchel des Zeigefingers ist der Januar?
Ne, der Knöchel vom linken kleinen Finger

-
Hmmm eigentlich ist das blunzn.... es geht sich in beide Richtungen aus
-
kacke ist, das juli und august 31 tage haben..
-
Mach halt ein Array mit 12 Elementen und mach Februar zu einem Spezialfall.
-
oder mach ein Array mit 1200 Elementen...
-
OMG!
if (monat == 1 || monat == 3 || monat == 5 || monat == 7 || monat == 8 || monat == 10 || monat == 12) { return 31; } else if (monat == 4 || monat == 6 || monat == 9 || monat == 11) { return 30; } else { if (schaltjahr(jahr)) { return 29; } else { return 28; } }
-
int tage; if (monat == 2) tage = 28 + is_schaltjahr(); else tage = 30 + (1 - (monat - 1) % 7 % 2);
-
LordJaxom schrieb:
int tage; if (monat == 2) tage = 28 + is_schaltjahr(); else tage = 30 + (1 - (monat - 1) % 7 % 2);kriegst du das auch noch kryptischer hin?

-
Jester schrieb:
LordJaxom schrieb:
int tage; if (monat == 2) tage = 28 + is_schaltjahr(); else tage = 30 + (1 - (monat - 1) % 7 % 2);kriegst du das auch noch kryptischer hin?

int tage = 30 + !((monat - 1) % 7 % 2) - (1 + schaltjahr(jahr)) * !(monat - 2);
ungetestet
-
int tage = "303232332323313232332323"[12*is_schaltjahr() + monat - 1] - '0' + 28;Auch ungetestet.
-
int tage = 28 + (int) (rand() * 4);Scheint zu funktionieren

-
Oder schau im Kalendar nach