Feedback

C# - Überprüfung von einem Datum

Veröffentlicht von am 11/13/2012
(0 Bewertungen)
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

bestel schrieb am 11/13/2012:
Warum nicht einfach sowas wie z. B.: ;)
private bool IsValidDatum(string DatumText)
{
DateTime parsed;
return DateTime.TryParse(DatumText, out parsed);
}
 

Logge dich ein, um hier zu kommentieren!