Ein Programm was überprüft ob das eingegebene Datum richtig ist oder nicht. Es beinhaltet die Ausnahme des Schaltjahrs mit dem 29. Februar. Desweiteren ist es kommentiert, dennoch wird ein Wissen vorausgesetzt. Die Ausnahme das ein Jahr negativ eingegeben wird und es als Fehler erkennt wird ist NICHT vorhanden.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
int tag;
int monat;
int jahr;
int rest;
int beenden = 0;
do // Beginnt die do-while Schleife
{
// Hier beginnt die Überprüfung ob es ein Schaltjahr ist oder nicht
Console.WriteLine("Bitte geben sie das Jahr ein :"); // Die Ausgabe fordert zur Eingabe auf
jahr = Convert.ToInt32(Console.ReadLine()); // definiert das jahr als die Eingabe durch die Console und Convertiert das Eingegebene zu Int
rest = jahr % 4; // Überprüft ob das Jahr ein Schaltjahr ist oder nicht
{
if ((rest == jahr % 4) && (rest == jahr % 100) && (rest == jahr % 400)) // definiert wann es ein Schaltjahr ist
Console.WriteLine("Jahr ist ein Schaltjahr"); // Ausgabe wenn es ein Schaltjahr ist
else
Console.WriteLine("Jahr ist kein schaltjahr"); // Ausgabe wenn es kein Schaltjahr ist und es nicht kleiner als 0 ist
// Hier ist die Überprüfung abgeschlossen
}
// Hier beginnt die Überprüfung des Monats
Console.WriteLine("Bitte geben sie den Monat ein:"); // Fordert zu Eingabe auf
monat = Convert.ToInt32(Console.ReadLine()); // definiert den monat als die Eingabe durch die Console und Convertiert das Eingegebene zu Int32
if (monat <= 12 && monat > 0) // Gibt den Zahlenbereich vor der richtig ist für den Monat
{
Console.WriteLine("Eingabe akzeptiert");
}
else // Wenn die eingegebene Zahl nicht richtig ist dann....
{
Console.WriteLine("Eingabe nicht akzeptiert");
Console.WriteLine("Feler!!!");
Console.WriteLine();
beenden = 1; // Beginnt die do-while Schleife von vorne wenn das Ergebnis falsch ist
// Hier endet die Überprüfung des Monats
}
// Hier beginnt die Überprüfung des Tags
Console.WriteLine("Bitte geben sie ein Tag ein:");
tag = Convert.ToInt32(Console.ReadLine()); // definiert den tag als das was über die Console eingegeben wird
{
if (tag <= 31)
{
if ((tag == 31 && monat == 4) || (tag == 31 && monat == 6) || (tag == 31 && monat == 9) || (tag == 31 && monat == 11)) // wird benötigt um die unterschiedliche anzahl an Tagen der Monate zu behandeln
Console.WriteLine("Datum ist falsch");
else
{
if ((tag == 29) && (monat == 2) && (rest == jahr % 4) && (rest == jahr % 100) && (rest == jahr % 400)) // wird benötigt um die Ausnahme des 29. Februars einzuhalten
Console.WriteLine("Datum ist richtig");
else
Console.WriteLine("Datum ist falsch");
}
}
else Console.WriteLine("FEHLER"); // Wenn tag nicht kleiner oder gleich 31 ist Ausgabe: Fehler
beenden = 1; // Startet die do while Schleife von vorne wenn tag nicht kleiner oder gleich 31 ist
}
} while (beenden == 1); // Do while Schleife fängt wieder von vorne an
}
}
}
1 Kommentare zum Snippet