[C#] Altersberechnung

Zerofreak

Lt. Commander
Registriert
Okt. 2009
Beiträge
1.840
Hallo Leute,

ich hab mal in C# einen ja man kann sagen "Elektronischen Türsteher" programmiert...:D

wenn ich den debugger starte dann fragt der mich nach meinen namen und dann nach meinem geburtsjahr...;)

soweit so gut...funzt ja auch alles...nur wollte ich fragen wer mir helfen kann, das ich es auf den tag genau berechnen kann also das man sein Geburtsjahr + Tag angibt und Monat und er daran errechnen kann ob man älter als 18 ist und eintritt hat oder ob man jünger ist und kein eintritt hat.

Vielleicht kann mir ja jemand Helfen und schreiben wie ich es genau auf den Tag berechnen kann...;)

using System;
using System.Collections.Generic;
using System.Text;

namespace test_test
{
class Program
{
static void Main(string[] args)
{


string sGeburt, sName, sAlter = " ";
int iGeburt, iName, iAlter = 0;

Console.WriteLine("Wie heißt du");
sName = Console.ReadLine();

Console.WriteLine("In welchem Jahr wurdest du geboren?");
sGeburt = Console.ReadLine();

iGeburt = Convert.ToInt32(sGeburt);
iAlter = DateTime.Now.Year - iGeburt;

if (iAlter < 18)
{
Console.WriteLine("\nKein Eintritt !!!");
}
else

{
Console.WriteLine("\nEintritt Frei");
Console.ReadKey();

}
}
}
}
 
Schau dir dazu mal den Datentyp TimeSpan an.
PHP:
      int iYear = 1975, iMonth = 4, iDay = 16;
      DateTime dt = new DateTime(iYear, iMonth, iDay);
      TimeSpan ts = DateTime.Now - dt;
      Console.WriteLine(ts.ToString());
 
Dazu brauche ich noch keinen TimeSpan:

Code:
try
{
    Console.WriteLine("Bitte geben Sie Ihr Geburtsdatum ein:");
    String BirthDateString = Console.ReadLine();
    DateTime BirthDate = DateTime.Parse(BirthDateString);
    if (BirthDate.AddYears(18).Ticks < DateTime.Now.Ticks) //18. Geburtstag ist schon vorbei
    {
         //Zugriff gestatten
    }
}
catch(Exception ex)
{
      Console.WriteLine("Ein Fehler ist aufgetreten: " + ex.ToString());
}

Du lässt den Benutzer das Datum eingeben. Es wird dabei das aktuelle Datumsformat verwendet (deutsches System: Deutsches Datum). Dann wandelst du die Eingabe in ein Datum ein. Wenn das Format nicht stimmt, wird ein Fehler ausgegeben. Wenn der 18. Geburtstag (Geburtsdatum + 18) vor dem aktuellen Datum ist, dann darf er rein, sonst nicht.
 
Zurück
Oben