日期显示:输入某的日期,输出明天的日期

日期显示:输入某的日期,输出明天的日期。
例:输入 2017-12-31,
输出 2018-01-01
输入 2000-02-28,
输出 2000-02-29


#include<stdio.h>
typedef struct date{
    int year;
    int month;
    int day;
}date;

int IsLeapyear(int year){//判断闰年,如果是返回1 
    if((year%400==0)||(year%4==0&&year%100!=0))
        return 1;
    else
        return 0;
} 
int HasNextday(date* pt){
    int leap =IsLeapyear(pt->year);//对闰年进行判断
    switch(pt->month){
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
            if(pt->day>0&&pt->day<=31)
                return 1;//日期合法 
            else
                return 0; //日期不合法
            break;
        case 2:
            if(leap==1&&pt->day>0&&pt->day<=29) 
                return 1;//闰年日期合法
            else if(leap==0&&pt->day>0&&pt->day<=28)
                return 1;
            else 
                return 0;//日期不合法
            break;
        case 4:
        case 6:
        case 9:
        case 11:
             if(pt->day>0&&pt->day<=30)
                 return 1;
            else
                return 0;
            break;
        default: return 0;//月份输入不正确 
    } 
}
void NextDay(date* pt){
    int hasnextday = HasNextday(pt);
    int leap =IsLeapyear(pt->year);//对闰年进行判断
    if(hasnextday){
        switch(pt->month){
                    case 2:{
            if((pt->day==28)&&(leap==0)){
                pt->day=1;
                pt->month++;
            }
            break;
        }
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:{
            if(pt->day==31){
                pt->day=1;
                pt->month++;
            }
            break;
        }
        case 4:
        case 6:
        case 9:
        case 11:{
            if(pt->day==30){
                pt->day=1;
                pt->month++;
            }
            break;
        } 
        case 12:{
            if(pt->day=31){
                pt->day=1;
                pt->month=1;
                pt->year++;
            }
            break;
        }
        }

        
    }
} 

int main(void){
    date today ,*pt=&today;
    int hasnextday;
    
    printf("请输入今天的日期:\n");
    scanf("%d%d%d",&today.year,&today.month,&today.day);
    
    hasnextday=HasNextday(pt);
    if(hasnextday){
        NextDay(pt);
        printf("明天的日期是:%d-%d-%d。\n",pt->year,pt->month,pt->day);
    }
    else printf("该日期不存在!\n");
    
    return 0;
}