C# :: Aufgabe #41 :: Lösung #1
14 Lösungen

#41
Schaltjahresberechnung
Anfänger - C#
von Process1
- 10.01.2013 um 06:52 Uhr
Es soll eine jahreszahl übergeben werden und es soll überprüft werden ob es sich um ein Schaltjahr handelt oder nicht.
Es gilt:
- Wenn ein Jahr durch 4 teilbar ist, ist es ein Schaltjahr, aber
- wenn es durch 100 teilbar ist, ist es kein schaltjahr, außer
- es ist durch 400 teilbar, dann ist es ein schaltjahr
z.b. 1664, 1600, 2000, 2004 sind schaltjahre
1003, 2006, 1700 sind keine schaltjahre
Es gilt:
- Wenn ein Jahr durch 4 teilbar ist, ist es ein Schaltjahr, aber
- wenn es durch 100 teilbar ist, ist es kein schaltjahr, außer
- es ist durch 400 teilbar, dann ist es ein schaltjahr
z.b. 1664, 1600, 2000, 2004 sind schaltjahre
1003, 2006, 1700 sind keine schaltjahre
#1

von hyperion (120 Punkte)
- 06.03.2013 um 22:37 Uhr

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Schaltjahresberechnung { class Program { static void Main(string[] args) { string yearToCheck; // Eingabe des zu überprüfenden Jahres Console.WriteLine("Schaltjahrüberprüfung"); do { Console.Write("\nBitte Jahreszahl eingeben: "); yearToCheck = Console.ReadLine(); } while (!IsNumber(yearToCheck)); // Ausgabe if ( IsLeapYear(Convert.ToInt16(yearToCheck)) ) Console.WriteLine("\n{0} ist ein Schaltjahr.", yearToCheck); else Console.WriteLine("\n{0} ist kein Schaltjahr.", yearToCheck); Console.ReadKey(); } // Prüft, ob der übergebene Wert einer Zahl entspricht static bool IsNumber(string number) { // whitespace entfernen number = number.Trim(); // Sind alle Zeichen Zahlen? for (int i = 0; i < number.Length; i++) { if (!Char.IsDigit(number[i])) { Console.WriteLine("\nKeine gültige Zahl!"); return false; } } return true; } // Prüfen ob Schaltjahr static bool IsLeapYear(int year) { bool isLapYear = true; /* Es gilt: - Wenn ein Jahr durch 4 teilbar ist, ist es ein Schaltjahr, aber - wenn es durch 100 teilbar ist, ist es kein schaltjahr, außer - es ist durch 400 teilbar, dann ist es ein schaltjahr */ if ((year % 4) == 0) { if ((year % 100) == 0) isLapYear = false; if ((year % 400) == 0) isLapYear = true; } else isLapYear = false; return isLapYear; } } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1