求次日的日期

(1)年:必须是四位正整数

月:大于0小于12

日:根据月份判断

(2)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 职称枚举类型
{

    class Class1
    {




        static void Main(string[] args)
        {
           
            //y是输入的年,y1是次日的年。dayNum是一个月的天数
            int y, m, d, dayNum = 30, y1, m1, d1;
            Console.WriteLine("请输入年:");
            y = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("请输入月:");
            m = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("请输入日:");
            d = Convert.ToInt32(Console.ReadLine());
            //判断年和月是否合法
            if(y<1000||y>9999||m<1||m>12){
                Console.WriteLine("年月的输入不合法!");
                return;
            }

            //根据月获得本月的天数
            switch(m){
                case 2:
                    dayNum = 28;
                    if((y%400==0)||(y%4==0&&y%100!=0)){
                        dayNum = 29;
                    }
                    break;
                case 1:
                case 3:
                case 5:
                case 7:
                case 8:
                case 10:
                case 12:
                    dayNum = 31;
                    break;
                case 4:
                case 6:
                case 9:
                case 11:
                    dayNum = 30;
                    break;
            }
            //判断日是否合法。
            if(d<1||d>dayNum){
                Console.WriteLine("日期不合法");
                return;
            
            }
            //下面是合法的,获得次日的日期
            if (m == 12)
            {
                if (d == dayNum)
                {
                    y1 = y + 1;
                    m1 = 1;
                    d1 = 1;
                }
                else
                {
                    y1 = y;
                    m1 = m;
                    d1 = d + 1;

                }
            }
            else {
                if (d == dayNum)
                {
                    y1 = y;
                    m1 = m + 1;
                    d1 = 1;

                }
                else {
                    y1 = y;
                    m1 = m;
                    d1 = d + 1;
                
                }
            }
            Console.WriteLine(y1+"年"+m1+"月"+d1+"日");
        }
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值