Alles in der Welt ist merkwürdig und wunderbar für ein paar wohlgeö

  if ( ((*mon)<=0) ||

        ((*mon)>12) ||

        ((*jahr)<0) || ((*jahr)>4000) || ((*tag)>31)||((*tag)<=0) )

    return 0;

  /* Überprüfung der Monate mit nur 30 Tagen */

  if ( ((*mon==4)||(*mon==6)||(*mon==9)||(*mon==11)) && (*tag==31))

    return 0;

  /* Februar im Schaltjahr */

  if ( (*mon==2) &&

       ( ((*jahr)%4==0) &&

         ( ((*jahr)%100!=0)||((*jahr)%400==0) ) ) && (*mon>29) )

    return 0;

  /* Februar ohne Schaltjahr */

  if ( (*mon==2) &&

       ( ((*jahr)%4!=0) ||

         ( ((*jahr)%100==0)&&((*jahr)%400!=0) ) ) && (*mon>28) )

    return 0;

  return 1;

}



void main(void)

{

  int i,tag,mon,jahr,iWochentag;


  char Tag[7][12]={"Sonntag","Montag","Dienstag","Mittwoch",
                  "Donnerstag","Freitag","Samstag"};


  do

  {

    clrscr();

    printf("Geburtstag [tt-mm-jjjj]: ");

    i=scanf("%2d-%2d-%4d",&tag,&mon,&jahr);

  }

  while (i!=3);

  if (DatumOk(&tag,&mon,&jahr))

  {

    iWochentag=wochentag(tag,mon,jahr);

    printf("\nSie sind an einem %s geboren.\n",Tag[iWochentag]);

    datadd(&tag,&mon,&jahr,1000);

    iWochentag=wochentag(tag,mon,jahr);

    printf("\n Am %10s dem %2d, %2d, %4d “ \

           “sind Sie  1000(10) Tage alt!\n",

           Tag[iWochentag],tag,mon,jahr);

    datadd(&tag,&mon,&jahr,738);

    iWochentag=wochentag(tag,mon,jahr);

    printf("\n Am %10s dem %2d, %2d, %4d sind Sie  “ \

           “1000(12) Tage alt!\n",Tag[iWochentag],tag,mon,jahr);

    datadd(&tag,&mon,&jahr,2358);

    iWochentag=wochentag(tag,mon,jahr);

    printf("\n Am %10s dem %2d, %2d, %4d sind Sie      “ \

           ”2^12 Tage alt!\n",Tag[iWochentag],tag,mon,jahr);

    datadd(&tag,&mon,&jahr,4096);

    iWochentag=wochentag(tag,mon,jahr);

    printf("\n Am %10s dem %2d, %2d, %4d sind Sie      “ \

           “2^13 Tage alt!\n",Tag[iWochentag],tag,mon,jahr);

    datadd(&tag,&mon,&jahr,1808);

    iWochentag=wochentag(tag,mon,jahr);

    printf("\n Am %10s dem %2d, %2d, %4d sind Sie “\

           “10000 Tage alt!\n",Tag[iWochentag],tag,mon,jahr);

    datadd(&tag,&mon,&jahr,6384);

    iWochentag=wochentag(tag,mon,jahr);

    printf("\n Am %10s dem %2d, %2d, %4d sind Sie      “ \

           “2^14 Tage alt!\n",Tag[iWochentag],tag,mon,jahr);

    datadd(&tag,&mon,&jahr,4352);

    iWochentag=wochentag(tag,mon,jahr);

    printf("\n Am %10s dem %2d, %2d, %4d sind Sie “ \

           “10000(12) Tage alt!\n",Tag[iWochentag],tag,mon,jahr);

    datadd(&tag,&mon,&jahr,12032);

    iWochentag=wochentag(tag,mon,jahr);

    printf("\n Am %10s dem %2d, %2d, %4d sind Sie      “ \

           “2^15 Tage alt!\n",Tag[iWochentag],tag,mon,jahr);

  }

  else

    printf("\nDieses Datum gibt es nicht!!\n");

  getch();

}