Brauche dringend Hilfe! Datum in C prüfen!!!



  • Ich muss ein Programm schreiben, in dem ich ein Datum in der Form tt.mm.jjjj einlesen soll und zwar mit der Funktion getchar. Es soll solange einlesen, bis ein return als Characterzeichen eingegeben wird.

    Dannach soll das ganze auf Gültigkeit geprüft werden. Das Programm soll mir eine Fehlermeldung für einen falschen Tag, Monat oder Jahr ausgeben. Schaltjahre sollen auch berücksichtigt werden, so

    Desweiteren soll das eingegebene Datum mit der heutigen Zeit verglichen werden.
    Dafür soll ich folgende Funktion benutzen:

    #include <time.h>

    /* Diese Void-Prozedur gibt das aktuelle Datum vom Rechner in
    3 Integervariablen zurück
    Norbert Gesper 01.08.2005
    Der Aufruf lautet: aktdate(&Tag,&Monat,&Jahr); */

    void aktdate(int *Tag, int *Monat, int *Jahr)
    {
    struct tm *datum;
    time_t heute;
    time(&heute);
    datum = localtime(&heute);
    *Tag = datum->tm_mday;
    *Monat = datum->tm_mon+1;
    *Jahr = datum->tm_year+1900;
    return;
    }

    Dannach soll noch ausgegeben werden ob das Datum aktuell ist, in der Zukunft liegt, oder in der Vergangenheit.

    Kann mir jemand bitte helfen??

    Vielen Dank im Vorraus!!



  • deine hausaufgaben macht hier keiner. fang doch wenigstens mal mit dem einlesen des datums an.
    die pruefroutinen koennen wir dann ja gemeinsam erarbeiten.



  • Ein kleiner Tip zum Einlesen des Datums: Die Enter-Taste wird durch das Zeichen '\n' dargestellt - damit hast du deine Abbruchbedingung. Und zu man: getchar findest du ein paar Informationen, wenn du dir die Manuals durchliest.


Anmelden zum Antworten