C# :: Aufgabe #300 :: Lösung #3
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.
#3
von soma (150 Punkte)
- 20.04.2020 um 21:02 Uhr
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
