用C++语言编写一个程序

2025-04-06 03:48:36
推荐回答(1个)
回答1:

#include
using namespace std;

bool isLegal(unsigned int year, unsigned int month, unsigned day){
    unsigned MAXDAY = 0;
    switch(month){
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:MAXDAY = 31;break;
    case 4:
    case 6:
    case 9:
    case 11:MAXDAY = 30;break;
    case 2:{
        if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
            MAXDAY = 29;
        else
            MAXDAY = 28;
    }
    }
    if(1<= day && day <= MAXDAY)
        return true;
    else
        return false;
}
 unsigned int getDays(unsigned int year, unsigned int month, unsigned day){
    int days = 0;
    for(int i=1;i < month;i++){
        if(1 == i || 3 == i || 5 == i || 7 == i || 8 == i || 10 == i || 12 == i)
            days += 31;
        else if(4 == i || 6 == i || 9 == i || 11 == i)
            days += 30;
        else if(2 == i){
            if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
                days += 29;
            else
                days += 28;
            }
    }
    return days + day;
}

int main(){
    unsigned int year = 0, month = 0, day = 0;
    cin>>year>>month>>day;
    //判断当前日期是否合法
    if(isLegal(year, month, day))
        cout<    else
        cout<<"输入数据不合法"<return 0;
}