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

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.
#4
vote_ok
von JKooP (18090 Punkte) - 13.11.2020 um 16:27 Uhr
NET 5.x; C# 9.x
Top-Level-Programm: ohne "namespace" und "class Program"
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;

// Mögliche Eingaben durch Benutzer -> Hier vereinfacht durch Liste dargestellt:
var lst = new List<string>()
{
    "9.1.20",   // 09.01.2020
    "18718",    // 17.07.2018
    "12/12/17", // 12.12.2017
    "4-4-66",   // 04.04.1966
    "1111",     // 01.01.2011
    "29219"     // 01.01.2011 -> Fehler 01.01.0001
};

// Ausgabe
lst.Select(x => GetDates(x)).ToList().ForEach(x => Console.WriteLine($"Heute: {x.today.ToShortDateString()} -> Morgen: {x.tomorrow.ToShortDateString()}"));

// String -> Datum
static (DateTime today, DateTime tomorrow) GetDates(string s)
{
    var r = new Regex(@"(\d{1,2})\W*(\d{1,2})\W*(\d{2,4})").Match(s);
    _ = DateTime.TryParse($"{r.Groups[1]}.{r.Groups[2]}.{r.Groups[3]}", out var d);
    return (d, d.AddDays(1));
}

Kommentare:

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

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