folgendes Problem, als teil des lernens von C möchte ich ein tool schreiben, welches das datum bezieht, und ein geburtsdatum abfragt. danach errechnet das tool das alter der person.
habe mir gedacht ich frage die usereingabe als string ab (habe es bewusst nicht nacheinander mit scanf gemacht) heißt der nutzer gibt das geburtsdatum im Format tt.mm.jjjj ein das tool soll nun die ersten 2 die 3. und 4. und die letzten 4 zeichen jeweils in einen neuen String kopieren.
sollte das mal irgendwann klappen, sollen die strings mit atoi in int werte gewandelt werden, damit ich damit rechnen kann. im moment jedoch haperts beim aufteilen des strings.
aus irgendwelchen gründen druckt das tool einfach nur 3. ‚\n‘ anstatt jahr tag und monat.
kann den fehler aber nicht finden bitte werft mal einen blick drauf. danke
/\*age check (c) By Tim Hartmann\*/
#include
#include
#include
#include
#include
#include
int main ()
{
SYSTEMTIME time;
GetSystemTime (&time);
char name[20], bday[10], bjahr[4], bmonat[2], btag[2];
int year = time.wYear;
int month = time.wMonth;
int day = time.wDay;
int intjahr, intmonat, inttag;
printf("\n\n today is the: %i.%i.%i \n\n",day,month,year);
printf(" please insert Birthdate (dd.mm.jjjj).\n\n");
scanf("%10s",&bday);
strncpy(bjahr , &bday[6], 4);
bjahr[4] = 0;
strncpy(bmonat, &bday[3], 2);
bmonat[2]= 0;
strncpy(btag , &bday[0], 2);
btag[2] = 0;
printf("\n %s \n", bjahr);
printf("\n %s \n\n",bmonat);
printf("\n %s \n", btag);
system("PAUSE");
}