编写一个函数,要求输入年月日时分秒,输出该年月日时分秒的下一秒。如输入2004年12月31日23时59分59秒,则输出2005年1月1日0时0分0秒。
void time_next(int y ,int mo ,int d ,int h ,int mi , int s)
{
int s_1 = 0;
int mi_1 = 0;
int h_1 = 0;
int d_1 = 0;
int mo_1 = 0;
int y_1 = 0;
if(s==59)
{
s= 0;
s_1 = 1;
}
else
{
s++;
}
if(s_1 ==1)
{
if(mi == 59)
{
mi = 0;
mi_1 = 1;
}
else
{
mi++;
}
}
if( mi_1 == 1 )
{
if(h == 23)
{
h = 0;
h_1 = 1;
}
else
{
h++;
}
}
if(h_1 == 1)
{
if((mo==1)||(mo==3)||(mo==5)||(mo==7)||(mo==8)||(mo==10)||(mo==12))
{
if(d==31)
{
d= 1;
d_1 = 1;
if(mo==12)
{
mo = 1;
mo_1 = 1;
y++;
}
else
{
mo++;
}
}
else
{
d++;
}
}
if((mo==4)||(mo==6)||(mo==9)||(mo==11))
{
if(d==30)
{
d = 1;
d_1 = 1;
}
else
{
d++;
}
}
if(mo==2)
{
if (y%400 == 0 || (y%4 == 0 && y%100 != 0))
{
if(d==29)
{
d = 1;
d_1= 1;
}
else
{
d++;
}
}
else
{
if(d==28)
{
d=1;
d_1 = 1;
}
else
{
d++;
}
}
}
}
cout<<"year:"<<y<<endl;
cout<<"month:"<<mo<<endl;
cout<<"day:"<<d<<endl;
cout<<"hour:"<<h<<endl;
cout<<"mintue:"<<mi<<endl;
cout<<"second:"<<s<<endl;
}
void main()
{
time_next(2012, 12, 31 , 23, 59 ,59);
}