C# :: Aufgabe #300 :: Lösung #3

4 Lösungen Lösungen öffentlich
#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.
#3
vote_ok
von soma (150 Punkte) - 20.04.2020 um 21:02 Uhr
Quellcode ausblenden 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

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben