// Frühlingsbeginn: 21. März // Sommerbeginn: 21. Juni // Herbstbeginn: 23. September // Winterbeginn: 21. Dezember (des aktuellen Jahres) static DateTime Beginn(Jahreszeit jahreszeit) { switch (jahreszeit) { case Jahreszeit.Frühling: return(new DateTime(DateTime.Now.Year, 3, 21)); case Jahreszeit.Sommer: return(new DateTime(DateTime.Now.Year, 6, 21)); case Jahreszeit.Herbst: return(new DateTime(DateTime.Now.Year, 9, 23)); case Jahreszeit.Winter: default: return(new DateTime(DateTime.Now.Year, 12, 21)); } }
// Ausgabe des Jahreszeitenbeginns im heurigen Jahr (astronomisch) static void Main(string[] args) { do { Console.Write("Gib eine Jahreszeit ein: "); Jahreszeit jz = (Jahreszeit)Enum.Parse(typeof(Jahreszeit), Console.ReadLine()); // Umwandlung vom Enum zu einer Zahl int nummer = (int)jz; Console.WriteLine($"{jz} ist die {nummer + 1}. Jahreszeit."); // Umwandlung von einer Zahl zum Enum Jahreszeit nächste = (Jahreszeit)((nummer + 1) % 4); Console.WriteLine($"Die nächste Jahreszeit ist {nächste}."); DateTime beginnDatum = Beginn(jz); Console.WriteLine($"Der {jz} beginnt heuer am {beginnDatum.ToString("d. MMMM yyyy")}."); Console.Write("Beenden mit Escape" + Environment.NewLine); }while (Console.ReadKey(true).Key != ConsoleKey.Escape); }
static void Main(string[] args) { String eingabe = ""; bool eingabeOK = false; int jzindex = 0; int mindex = 0; Jahreszeit j = Jahreszeit.fruehling; Monat m = Monat.februar; Console.WriteLine("Bitte gib einen Jahreszeitenindex (1-4) und einen Monatsindex an (1-12):"); while (!eingabeOK) { Console.Write("Zunaechst den Jahreszeitenindex: "); eingabe = Console.ReadLine(); eingabeOK = int.TryParse(eingabe, out jzindex); j = (Jahreszeit)jzindex; if ((jzindex < (int)Jahreszeit.fruehling) || (jzindex > (int)Jahreszeit.winter)) { Console.WriteLine("Index ausserhalb des Bereichs (1-4)"); eingabeOK = false; } } eingabeOK = false; while (!eingabeOK) { Console.Write("Nun den Monatsindex: "); eingabe = Console.ReadLine(); eingabeOK = int.TryParse(eingabe, out mindex); m = (Monat)mindex; if ((mindex < (int)Monat.januar) || (mindex > (int)Monat.dezember)) { Console.WriteLine("Index ausserhalb des Bereichs (1-12)"); eingabeOK = false; } } switch (j) { case Jahreszeit.fruehling: { Console.Write(Jahreszeit.fruehling + " ist im Monat "); switch (m) { case Monat.maerz: { Console.Write(Monat.maerz + "\n"); break; } case Monat.april: { Console.Write(Monat.april + "\n"); break; } case Monat.mai: { Console.Write(Monat.mai + "\n"); break; } default: Console.Write("Nichts da\n"); break; } break; } case Jahreszeit.sommer: { Console.Write(Jahreszeit.sommer + " ist im Monat "); switch (m) { case Monat.juni: { Console.Write(Monat.juni + "\n"); break; } case Monat.juli: { Console.Write(Monat.juli + "\n"); break; } case Monat.august: { Console.Write(Monat.august + "\n"); break; } default: Console.Write("Nichts da\n"); break; } break; } case Jahreszeit.herbst: { Console.Write(Jahreszeit.herbst + " ist im Monat "); switch (m) { case Monat.september: { Console.Write(Monat.september + "\n"); break; } case Monat.oktober: { Console.Write(Monat.oktober + "\n"); break; } case Monat.november: { Console.Write(Monat.november + "\n"); break; } default: Console.Write("Nichts da\n"); break; } break; } case Jahreszeit.winter: { Console.Write(Jahreszeit.winter + " ist im Monat "); switch (m) { case Monat.dezember: { Console.Write(Monat.dezember + "\n"); break; } case Monat.januar: { Console.Write(Monat.januar + "\n"); break; } case Monat.februar: { Console.Write(Monat.februar + "\n"); break; } default: Console.Write("Nichts da\n"); break; } break; } default: break; } Console.ReadKey(); }