этот инструмент для меня, чтобы научиться работать со строками.но если он закончился, иногда он должен сравнить две даты (системную дату и введенную дату рождения) и сообщить пользователю, сколько лет человеку.но я застреваюСначала я хотел попробовать некоторые основы, поэтому введенная строка разбивается на день, месяц и год, а затем она должна распечатать строки.Но моя настоящая цель состоит в том, чтобы преобразовать их в значение типа int, чтобы я мог вычислить их.
Но по некоторым причинам инструмент не печатает введенную строку, он просто печатает 3 \n
, и яне могу разобраться в проблеме.
, пожалуйста, помогите.
edit: исправлено, почти готово, только "btag" создает некоторые проблемы."bmonat" и "bjahr" теперь отлично работают, спасибо, пока!
/*age check (c) By Tim Hartmann*/
#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[3], btag[3];
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], 4);
bjahr[4] = '\0';
strncpy(bmonat, &bday[3], 2);
bmonat[2]= '\0';
strncpy(btag , &bday[0], 2); /* here is the probleme */
btag[2] = '\0';
printf("\n %s \n", bjahr);
printf("\n %s \n", bmonat);
printf("\n %s \n", btag);
system("PAUSE");
}