C# :: Aufgabe #300 :: Lösung #2
4 Lösungen
#300
Welcher Tag ist morgen?
Anfänger - C#
von DragStar
- 06.04.2020 um 08:30 Uhr
Verfassen Sie ein Programm, welches nach Eingabe von Tag, Monat und Jahr das Datum des nächsten Tages ausgibt.
Es sollen Monats- und Jahreswechsel, sowie Schaltjahre berücksichtigt werden.
Es sollen Monats- und Jahreswechsel, sowie Schaltjahre berücksichtigt werden.
#2
von soma (150 Punkte)
- 19.04.2020 um 21:54 Uhr
Das ganze besticht nicht durch Eleganz, aber es funktioniert.
C#-Code
using System; namespace Naechster_Tag { class Program { static void Main(string[] args) { int tag, monat, jahr, weiter; weiter = 1; while (weiter == 1) { //Abfrage Jahr Console.WriteLine("Bitte das Jahr eingeben:"); jahr = int.Parse(Console.ReadLine()); //Abfrage Monat Console.WriteLine("Bitte den Monat eingeben (1 - 12):"); monat = int.Parse(Console.ReadLine()); //Abfrage Tag Februar Schaltjahr if (monat == 2 && (jahr % 4 == 0)) { Console.WriteLine("Bitte den Tag eingeben (1 - 29):"); tag = int.Parse(Console.ReadLine()); } //Abfrage Tag Februar normales Jahr else if (monat == 2 && (jahr % 4 != 0)) { Console.WriteLine("Bitte den Tag eingeben (1 - 28):"); tag = int.Parse(Console.ReadLine()); } //Abfrage Tag April, Juni, September, November else if (monat == 4 || monat == 6 || monat == 9 || monat == 11) { Console.WriteLine("Bitte den Tag eingeben (1 - 30):"); tag = int.Parse(Console.ReadLine()); } //Abfrage Tag Januar, März, Mai, Juli, August, Oktober, Dezember else { Console.WriteLine("Bitte den Tag eingeben (1 - 31):"); tag = int.Parse(Console.ReadLine()); } //Ausgabe gewähltes Datum Console.WriteLine("Das gewählte Datum lautet: " + tag + "." + monat + "." + jahr + "."); //Ausgabe Folgedatum //Nicht existente Monate und Tage if ((monat < 1) || (monat > 12) || (tag < 1) || (tag > 31)) { Console.WriteLine("Haha! Schlaumeier!"); } //28. Februar in Schaltjahr else if ((tag + 1 == 29) && (monat == 2) && (jahr % 4 == 0)) { Console.WriteLine("Das Datum des nächsten Tages lautet " + (tag + 1) + "." + monat + "." + jahr + "."); } //29. Februar in Schaltjahr else if ((tag + 1 == 30) && (monat == 2) && (jahr % 4 == 0)) { Console.WriteLine("Das Datum des nächsten Tages lautet 1.3." + jahr + "."); } //28. Februar in normalem Jahr else if ((tag + 1 == 29) && (monat == 2)) { Console.WriteLine("Das Datum des nächsten Tages lautet 1.3." + jahr + "."); } //Nicht existente Daten Februar else if ((tag >= 29) && (monat == 2)) { Console.WriteLine("Haha! Schlaumeier!"); } //30. April, Juni, September, November else if ((tag + 1 == 31) && (monat == 4 || monat == 6 || monat == 9 || monat == 11)) { Console.WriteLine("Das Datum des nächsten Tages lautet 1." + (monat + 1) + "." + (jahr) + "."); } //Nicht existente Daten in April, Juni, September, November else if ((tag > 30) && (monat == 4 || monat == 6 || monat == 9 || monat == 11)) { Console.WriteLine("Haha! Schlaumeier!"); } //31. Januar, März, Mai, Juli, August, Oktober else if ((tag + 1 == 32) && (monat != 12)) { Console.WriteLine("Das Datum des nächsten Tages lautet 1." + (monat + 1) + "." + (jahr) + "."); } //31. Dezember else if ((tag + 1 == 32) && (monat ==12)) { Console.WriteLine("Das Datum des nächsten Tages lautet 1.1." + (jahr + 1)); } //Sonstige Daten else { Console.WriteLine("Das Datum des nächsten Tages lautet " + (tag + 1) + "." + monat + "." + jahr + "."); } Console.WriteLine("1 für weiter, 0 zum Beenden."); weiter = int.Parse(Console.ReadLine()); } } } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1