этот инструмент должен, если он готов, определить возраст человека.он получает системную дату и запрашивает у пользователя дату рождения.затем он разбил введенную строку на «год» (bjahr), «месяц» (bmonat) и «день» (btag), скопировав важные символы в новую строку.после этого он преобразует их через atoi в значение int.
, чтобы проверить, все ли прошло хорошо, я позволил напечатать его.Но там проблема начинается.год работает нормально, но "intmonat" и "inttag", кажется, равны 0. Я не могу найти ошибку, можете ли вы помочь мне, пожалуйста?
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <windows.h>
#include <time.h>
#include <string.h>
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");
gets(bday);
strncpy(bjahr , &bday[6], 5);
strncpy(btag , &bday[0], 1);
strncpy(bmonat, &bday[3], 1);
intjahr = atoi(bjahr) ;
intmonat = atoi(bmonat);
inttag = atoi(btag) ;
printf("\n\n jahr %i \n\n",intjahr);
printf(" monat %i \n\n",intmonat);
printf(" tag %i \n\n",inttag);
system("PAUSE");
}
Я немец, поэтому некоторые словаможет быть не англичанин, надеюсь, это не имеет значения.