C# :: Aufgabe #31 :: Lösung #9

9 Lösungen Lösungen öffentlich
#31

Anzahl Freitag, der 13te über bestimmten Zeitraum

Anfänger - C# von pocki - 29.12.2012 um 19:56 Uhr
Schreibe ein Programm welches 2 verschiedene Datum einliest und berechne die Anzahl wie oft in diesem Zeitraum der 13te eines Monats auf einen Freitag fiel und gib diese aus.

Konsolenausgabe:


Startdatum: 01.01.2009
Enddatum: 31.12.2009
13.02.2009
13.03.2009
13.11.2009
Summe: 3
#9
vote_ok
von Chrille (100 Punkte) - 29.10.2020 um 12:19 Uhr
Quellcode ausblenden C#-Code
        static void Main(string[] args)
        {
            //eingabe Anfangsdatum
            DateTime anfangsDatum;
            Console.Write("Startdatum: ");
            while (!DateTime.TryParse(Console.ReadLine(), out anfangsDatum))
            {
                Console.WriteLine("Fehlerhafte Eingabe, eingabe wiederholen");
                Console.Write("Startdatum: ");
            }
            
            //eingabe Enddatum
            DateTime endDatum;
            Console.Write("Enddatum: ");
            while (!(DateTime.TryParse(Console.ReadLine(), out endDatum) && endDatum > anfangsDatum))
            {
                Console.WriteLine("Fehlerhafte Eingabe, eingabe wiederholen");
                Console.Write("Enddatum: ");
            }

            //Setzten des Tages auf den 13. ggf im nächsten Monat.
            if (anfangsDatum.Day <=13)
            {
                anfangsDatum.AddDays(13-anfangsDatum.Day);
            }
            else
            {
                anfangsDatum = new DateTime(anfangsDatum.Year, anfangsDatum.Month, 13).AddMonths(1);
            }

            // Schleifendurchlauf mit Zählfunktion der übereinstimmung.
            int fridaysOfNoFuture = 0;
            for (DateTime i = anfangsDatum; i<endDatum; i=i.AddMonths(1)) // überprüft immer nur den 13. jeden Monats
            {
                if (i.DayOfWeek== DayOfWeek.Friday)
                {
                    fridaysOfNoFuture++;
                    Console.WriteLine("{0:dd/MM/yyyy}", i.Date);
                }
            }
            Console.WriteLine("Summe: "+fridaysOfNoFuture);
            Console.ReadKey();
        }

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

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

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.