C# :: Aufgabe #31 :: Lösung #5
9 Lösungen
#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
#5
von DBqFetti (2480 Punkte)
- 30.06.2015 um 20:59 Uhr
using System;
namespace Freitag13 {
class Program {
static void Main() {
DateTime
start = default(DateTime),
end = default(DateTime);
int counter;
while (start == default(DateTime) || end == default(DateTime) || start.CompareTo(end) > 0) {
try {
Console.Clear();
Console.Write("Start-Datum>");
start = Convert.ToDateTime(Console.ReadLine());
Console.Write("End-Datum>");
end = Convert.ToDateTime(Console.ReadLine());
}
catch (Exception) {
start = default(DateTime);
end = default(DateTime);
}
}
for (start = GotoNext(13, start), counter = 0; start.CompareTo(end) <= 0; start = start.AddMonths(1)) {
if (start.DayOfWeek == DayOfWeek.Friday) {
Console.WriteLine(start.ToShortDateString());
counter++;
}
}
Console.WriteLine("Summe: " + counter);
Console.ReadKey(true);
}
static DateTime GotoNext(int DayInMonth, DateTime AfterOrAt) {
if (DayInMonth < 0 || DayInMonth > 31 || AfterOrAt.Day == DayInMonth)
return AfterOrAt;
else
return
AfterOrAt
.AddDays(DayInMonth - AfterOrAt.Day)
.AddMonths(AfterOrAt.Day > DayInMonth ? 1 : 0);
}
}
}
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1
