C# :: Aufgabe #41
14 Lösungen

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
Lösungen:

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; } } }

using System; namespace Schaltjahresberechnung { class Program { static void Main(string[] args) { // Fenster Titel Console.Title = "Schaltjahresberechnung"; // Jahr eingeben int jahr = Convert.ToInt32(Console.ReadLine()); // Jahr überprüfen if (DateTime.IsLeapYear(jahr)) { Console.WriteLine("Schaltjahr"); } else { Console.WriteLine("Kein Schaltjahr"); } Console.ReadKey(); } } }

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Einsendeaufgabe { class Program { static void Main(string[] args) { int jahr, regel1, regel2, regel3; Console.WriteLine("\t\tSchaltjahr Rechner\n"); Console.Write("Prüfjahr eingeben: "); jahr = Convert.ToInt32(Console.ReadLine()); regel1 = jahr % 4; regel2 = jahr % 100; regel3 = jahr % 400; if (regel1 == 0 && regel2 != 0 || regel1 == 0 && regel2 == 0 && regel3 == 0) Console.WriteLine("Das Jahr {0} war ein Schaltjahr!", jahr); else Console.WriteLine("{0} war kein Schaltjahr!", jahr); } } }

public static bool SchaltjahrTest(int jahr) { if (jahr % 400 == 0 || jahr % 100 != 0 && jahr % 4 == 0) return true; else return false; }

public static bool LeapYear(int Year) { return (Year % 4 == 0 & (Year % 100 != 0 | Year % 400 == 0)); }

public static bool IstSchaltjahr(int Eingabe) { if (Eingabe % 4 == 0 & Eingabe % 100 != 0 | Eingabe % 4 == 0 & Eingabe % 400 == 0) return true; else return false; }

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SchaltjahrRechner { class Program { public static bool SchaltjahrCheck(long j) { if (j % 4 == 0) { if (j % 100 == 0) { if (j % 400 == 0) { return true; } return false; } return true; } else { return false; } } static void Main(string[] args) { long jahr; do { Console.Clear(); Console.WriteLine("Geben Sie eine Jahrenzahl ein: "); } while (!long.TryParse(Console.ReadLine(), out jahr)); bool isSchaltjahr = SchaltjahrCheck(jahr); if (isSchaltjahr) { Console.WriteLine("{0} ist ein Schaltjahr", jahr); } else { Console.WriteLine("{0} ist kein Schaltjahr", jahr); } Console.ReadLine(); } } }

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Schaltjahr { class Program { static void Main(string[] args) { // Initialwerte uint year = 0; string eingabe = string.Empty; char auswahl = ' '; bool fehler = false; // Consolenfarbe & Initialisierung Console.ForegroundColor = ConsoleColor.Black; Console.BackgroundColor = ConsoleColor.White; Console.Clear(); // Schleife über gesamtes Programm do { Console.Clear(); // Menü Ausgabe über Methode Menu(); // Auswahl über Methode auswahl = EingabeMenu("Auswahl: "); // logische Abfragen für Menüauswahl if (auswahl == '9') { // Ausstieg und Beenden des Programmes break; } else if (auswahl == '1') // Bei Auswahl '1' löschen der Console // und weiter mit Auswahl für Berechnung eines bestimmten Jahres { Console.Clear(); // Schleife für Fehlerprüfung do { fehler = false; try { Console.Clear(); Console.WriteLine("Ausgabe für Einzelnes Jahr"); Console.WriteLine("----------------------------------"); Console.Write("Bitte Jahr eingeben: "); year = Convert.ToUInt32(Console.ReadLine()); if (year < 10000) { fehler = false; } else { Console.WriteLine("Maximal 4 Stellige Jahreszahlen zulässig!"); Console.ReadKey(); fehler = true; } } catch { Console.WriteLine("Jahreszahlen von 1 - 9999 zulässig!"); Console.ReadKey(); fehler = true; } } while (fehler); // logische Abfragen für Schaltjahr Berechnung if (year % 4 == 0 && (year % 400 == 0 || year % 100 != 0)) { Console.WriteLine("{0} ist ein Schaltjahr", year); Console.WriteLine("----------------------------------"); Console.ReadKey(); } else { Console.WriteLine("{0} ist kein Schaltjahr", year); Console.WriteLine("----------------------------------"); Console.ReadKey(); } } else if (auswahl == '2') // Bei Auswahl '2' löschen der Console // und weiter mit Ausgabe der Jahre 2015 - 2025 { Console.Clear(); Console.WriteLine("Schaltjahr Ausgabe 2015 - 2025"); Console.WriteLine("----------------------------------"); for (int i = 2015; i <= 2025; i++) { if (DateTime.IsLeapYear(i)) Console.WriteLine("Das Jahr {0} ist ein Schaltjahr", i); else Console.WriteLine("Das Jahr {0} ist kein Schaltjahr", i); } Console.WriteLine("----------------------------------"); Console.ReadKey(); } // zurücksetzen des Wertes "year" für neue Aufgabe year = 0; // Abfrage "Nochmal?" über Methode eingabe = AbfrageNochmal("zum Hauptmenü? (n = Beenden) j/n: "); //Ende Schleife über Programm } while (eingabe.ToLower() == "j"); } static string AbfrageNochmal(string text) { string value = string.Empty; do { Console.Write(text); value = Console.ReadLine(); } while (value.ToLower() != "j" && value.ToLower() != "n"); return value; } static void Menu() { Console.WriteLine("Schaltjahr Ausgabe"); Console.WriteLine("----------------------------------"); Console.WriteLine("1. Nur 1 Jahr abfragen"); Console.WriteLine("2. Von 2015 bis 2025"); Console.WriteLine(); Console.WriteLine("9. Beenden"); Console.WriteLine("----------------------------------"); } static Char EingabeMenu(string text) { bool fehler = false; char value = ' '; do { try { fehler = false; Console.Write(text); value = Convert.ToChar(Console.ReadLine()); if (value != '1' && value != '2' && value != '9') throw new Exception("Nur Auswahl 1,2 & 9 erlaubt!"); } catch (Exception e) { Console.WriteLine(e.Message); fehler = true; } } while (fehler); return value; } } }

Console.Title = "Schaltjahr berechnen"; Console.WriteLine("Bitte Jahreszahl eingeben:"); int schaltjahr = Convert.ToInt32(Console.ReadLine()); if (schaltjahr%100==0 && schaltjahr%400!=0) { Console.WriteLine(schaltjahr + " ist kein Schaltjahr!"); } else if(schaltjahr%4==0) { Console.WriteLine(schaltjahr+ " ist ein Schaltjahr"); }else { Console.WriteLine(schaltjahr + " ist kein Schaltjahr!"); }

public static bool SchaltjahrTest(int jahr) { if (jahr % 400 == 0 || jahr % 100 != 0 && jahr % 4 == 0) return true; else return false; }

private static bool IsLeap(this DateTime date) { if (date.Year % 4 != 0) { return false; } if (date.Year % 100 == 100) { return date.Year % 400 == 0; } return true; }

using System; namespace Application { class MainClass { public static void Main(string[] args) { IstSchaltjahr(Convert.ToInt32(Console.ReadLine())); } public static void IstSchaltjahr(int jahr) { if (jahr % 400 == 0 || jahr % 4 == 0 && jahr % 100 != 0 ) { Console.WriteLine("Ist ein Schaltjahr!"); } else { Console.WriteLine("Ist kein Schaltjahr!"); } } } }

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace TrainYourProgrammer39 { class Program { static void Main(string[] args) { Console.Write("Geben Sie das Jahr ein, das überprüft werden soll: "); int jahr = Convert.ToInt32(Console.ReadLine()); bool schaltjahr = false; if (jahr % 400 == 0) { schaltjahr = true; } else { if (jahr%100 == 0) { schaltjahr = false; } else if (jahr%4==0) { schaltjahr = true; } } if (schaltjahr) { Console.WriteLine("Das Jahr {0} ist ein Schaltjahr.", jahr); } else { Console.WriteLine("Das Jahr {0} ist ein Schaltjahr.", jahr); } Console.ReadKey(); } } }

static void Aufgabe_41() { int jahr; bool schaltjahr = false; Console.Write("Welches Jahr soll überprüft werden ob es ein Schaltjahr ist? "); jahr = Convert.ToInt16(Console.ReadLine()); if (jahr % 4 == 0) { schaltjahr = true; if (jahr % 100 == 0) { schaltjahr = false; } if (jahr % 400 == 0) { schaltjahr = true; } } if (schaltjahr) Console.WriteLine("Das Jahr {0} ist ein Schaltjahr!", jahr); else Console.WriteLine("Das Jahr {0} ist kein Schaltjahr!", jahr); }