#include int main(int argc, char* argv[])
{
int year, month, day, hour, minute, loop;
time_t birth, now;
tm * tmn;
year = 0;
month = 500;
day = 0;
hour = 25;
minute = 61;
while(1970 >= year || year > 2100)
{
printf("请输入出生年份:");
scanf("%d", &year);
}
while(0 > month || month > 12)
{
printf("请输入出生月份:");
scanf("%d", &month);
}
loop = 1;
while(loop)
{
printf("请输入出生日:");
scanf("%d", &day);
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
if(0 < day && day < 32) loop = 0;
break;
case 4:
case 6:
case 9:
case 11:
if(0 < day && day < 31) loop = 0;
break;
case 2:
if(0 < day && day < 29) loop = 0;
else if(((year % 400) == 0 || ((year % 100) != 0 && year % 4 == 0)) && day == 29) loop = 0;
break;
default:
;
}
}
while(!(0<=hour && hour < 24))
{
printf("请输入出生时(24小时制):");
scanf("%d", &hour);
}
while(!(0<=minute && minute < 60))
{
printf("请输入出生分:");
scanf("%d", &minute);
}
printf("你的出生日期是:%4d年%2d月%2d日 %02d:%02d\n", year, month, day, hour, minute);
now = time(&now);
tmn = localtime(&now);
printf("现在时间是:%4d年%2d月%2d日 %02d:%02d\n", tmn->tm_year + 1900, tmn->tm_mon+1, tmn->tm_mday, tmn->tm_hour, tmn->tm_min);
tmn->tm_year = year - 1900;
tmn->tm_mon = month - 1;
tmn->tm_mday = day;
tmn->tm_hour = hour;
tmn->tm_min = minute;
birth = mktime(tmn);
printf("你已经生活了%.1f天了\n", (float)(now - birth) / 86400);
return 0;
}