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