某一时间的下一秒Linux,判断一个时期时间是否正确,输出下一秒的时间

判断一个时期时间是否正确,输出下一秒的时间

#include 

#include 

#include 

using namespace std;

int year=0;

int month=0;

int day=0;

int hour=0;

int minute=0;

int second=0;

//函数声明

void inputDate();

int dayMonth(int );

int leapyear(int );

void nextScond();

int main()

{

while(1)

{

inputDate();

nextScond();

}

return 0;

}

//输入日期,检查日期输入是否正确

void inputDate()

{

int loop;

for(loop=0;loop<3;loop++)

{

cout<

cout<

cin>>year;

cout<

cin>>month;

cout<

cin>>day;

cout<

cin>>hour;

cout<

cin>>minute;

cout<

cin>>second;

if(month<1||month>12)

{

cout<

continue;

}

else if(day<1||day>dayMonth(month))

{

cout<

continue;

}

else if(hour<0||hour>23)

{

cout<

continue;

}

else if(minute<0||minute>59)

{

cout<

continue;

}

else if(second<0||second>59)

{

cout<

continue;

}

else

{

break;

}

}

}

int dayMonth(int month)

{

switch(month)

{

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12: return 31;

case 2:

if(0==(year%4 && 0!=year%100)||0== year%400)

{

return 29;

}

else

return 28;

case 4:

case 6:

case 9:

case 11:

return 30;

}

return 1;

}

//判断是否

int leapyear(int year)

{

if(0 == (year % 4 && 0 != year % 100) || 0 == year %400)

return 1;

else

return 0;

}

//下一秒的日期时间

void nextScond()

{

if(59==second)

{

minute+=1;

second=0;

if(60==minute)

{

hour+=1;

minute=0;

if(24==hour)

{

day+=1;

hour=0;

if(day>dayMonth(month))

{

month+=1;

day=1;

if(13==month)

{

year+=1;

month=1;

}

}

}

}

}

else

second+=1;

cout<

}

运行结果

078bb09ddffaf4f3fcb9d7f925a0716e.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值