输入年月日时分秒,判断是否正确后输出年月日时分秒

#include <iostream.>
using namespace std;
struct time
{
    int year;
    int month;
    int day;
    int hour;
    int minute;
    int second;
};
void main()
{
     time my;
     int sign;
     int dayvalid;
     cout<<"请依次输入年月日时分秒"<<endl;
     cin>>my.year>>my.month>>my.day>>my.hour>>my.minute>>my.second;
     if((my.year%4==0&&my.year%100!=0)||my.year%400==0)      //判断闰年,返回一个代表数据,闰年为1,否则为0;
     {
        sign =1;
     }
     else
     {
         sign=0;
     }
if (my.month>=1&&my.month<=12)                                //判断月份的同时得出每个月的应有天数;

{
    switch (my.month)

    {
    case 1:
 
    case 3:
 
    case 5:

    case 7:

    case 8:

    case 10:

    case 12:

         dayvalid = 31;

         break;

     case 4:

     case 6:

     case 9:

     case 11:

         dayvalid = 30;
  
         break;

     case 2:

         if (sign ==1)

         {
             dayvalid = 29;
         }

         else
         { 
             dayvalid = 28;
         }
         break;
    }
                          //去掉了一个break;
}
if(my.month>12||my.month<0)        //判断月数是否错误。
{
    cout<<"月数错误"<<endl;
}
else                  //如果月数没有错误,判断天数。
{
    if(my.day>dayvalid||my.day<0)         //判断天数。
    {
        cout<<"天数错误"<<endl;
    }
    else                     //天数没有错误,判断小时是否错。
    {
        if(my.hour<0||my.hour>24)
        {
            cout<<"小时错误"<<endl;
        }
        else             //小时没有错误,判断分钟是否错误。
        {
            if(my.minute<0||my.minute>60)
            {
                cout<<"分钟错误"<<endl;
            }
            else          //分钟没有错误,判断秒数是否错误。
            {
                if(my.second<0||my.second>60)
                {
                    cout<<"秒数错误"<<endl;
                }
                else
                {
                    cout<<my.year<<"  "<<my.month<<"  "<<my.day<<"  "<<"  "<<my.hour<<"  "<<my.minute<<"  "<<my.second<<endl;
                }
            }

        }
    }
}
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值