69,371
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#define TRUE 1
int Amonth[2][13]={
{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
{0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
}; //一个是闰年的,一个是非闰年的
int leap = 0;
int year, month, day, hour, minute, second;
int LeapYear(int year) //闰年的判断函数
{
if ( (year%4 == 0) && (year%100 != 0) ||
(year%400 == 0) )
{
return 1;
}
else
{
return 0;
}
}
void InputData(void) //输入把年月日等等分开输入,这样判断简单一点
{
printf("Input year:");
while(TRUE)
if (scanf("%d", &year) != 1 || (year < 1000))
{
puts("Input year error");
getchar();
}
else
{
break;
}
leap = LeapYear(year);
printf("Input month:");
while(TRUE)
if (scanf("%d", &month) != 1 || month<1 || month>12)
{
puts("Input month error!");
getchar();
}
else
{
break;
}
printf("Input Day:");
while(TRUE)
if (scanf("%d", &day) != 1 || day<1 || day>Amonth[leap][month])
{
puts("Input day error!");
getchar();
}
else
{
break;
}
printf("Input Hour:");
while(TRUE)
if (scanf("%d", &hour) != 1 || hour<0 || hour>24)
{
puts("Input hour error!");
getchar();
}
else
{
break;
}
printf("Input Minute:");
while(TRUE)
if (scanf("%d", &minute) != 1 || minute<0 || minute>59)
{
puts("Input minute error!");
getchar();
}
else
{
break;
}
printf("Input Second:");
while(TRUE)
if (scanf("%d", &second) != 1 || second<0 || second>59)
{
puts("Input second error!");
getchar();
}
else
{
break;
}
}
void NextSec(void)
{
if (++second == 60)
{
second = 0;
minute++;
}
if (minute == 60)
{
minute = 0;
hour++;
}
if (hour == 24)
{
hour = 0;
day++;
}
if (day == Amonth[leap][month]+1)
{
day = 1;
month++;
}
if (month == 13)
{
month = 1;
year++;
}
printf("The next second is %d-%d-%d %d:%d:%d\n\n",
year, month, day, hour, minute, second);
}
int main(void)
{
InputData();
NextSec();
return 0;
}