#include <stdio.h>
#include <time.h>

int main() {
    struct tm t, *pt;
    time_t tijd;
    char* dag[]={"zondag", "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag"};
    
    /* stuct tm t vullen */
    printf("Geef de datum.\n");
    do {
        printf("Dag (1..31): ");
        fflush(stdin); 
    }
    while(scanf("%d", &t.tm_mday)!=1 || t.tm_mday<1 || t.tm_mday>31);
    do {    
        printf("Maand (1..12): "); 
        fflush(stdin);
    }
    while(scanf("%d", &t.tm_mon)!=1 || t.tm_mon<1 || t.tm_mon>12);
    t.tm_mon-=1;
    do {    
        printf("Jaar (1970..2037): "); 
        fflush(stdin);
    }
    while(scanf("%d", &t.tm_year)!=1 || t.tm_year<1970 || t.tm_year>2037);
    t.tm_year-=1900;
        
    t.tm_sec=0;
    t.tm_min=0;
    t.tm_hour=0;
    t.tm_isdst=-1;

    /* struct tm omzetten naar een time_t */
    tijd=mktime(&t);
    
    if (tijd==-1) {
        printf("Ongeldige datum!\n");
    }
    else {
        /* time_t weer terug omzetten naar een struct tm */
        pt=localtime(&tijd);
        /* De dag van de week afdrukken */
        printf("%02d-%02d-%4d is een %s.\n", pt->tm_mday, pt->tm_mon+1, pt->tm_year+1900, dag[pt->tm_wday]);
    }
    fflush(stdin);
    getchar();
    return 0;
}
