初学C++作业题,建立Date类,并且set()时需要保证月的值在1-12的范围内,怎么做?

#include
using namespace std;
class Data {
public:
Data(int year, int month, int date);
void setmonth(int);
int getmonth();
void displayData();
private:
int year, month, date;
};
Data::Data(int myear, int mmonth, int mdate) {
year = myear;
month = mmonth;
date = mdate;
}
void Data::setmonth(int mmonth) {
month = mmonth;
}
int Data::getmonth() {
return month;
}
void Data::displayData() {
cout << year << "/" << month << "/" << date << endl;
}
int main() {
Data mdata(2020, 3, 12);
mdata.displayData();
return 0;
}
作业要求代码中set()时需要保证月的值在1-12的范围内。怎么做啊!!在线等急!!

加个if判断就可以了吧。
void Data::setmonth(int mmonth) {
if(mmonth > 0 && mmonth < 13)
{
month = mmonth;
}else{
cout<<"参数错误!"<<endl;
}
}

这个简单呀,set函数中加一个判断,如果月的值小于1,则设置为1;如果大于12,设置为12,这样就能保证在1~12的范围之内了

#include<iostream>
using namespace std;
class DATE  
{
private:
    int year, month, day;
public:  
    DATE(int initYear, int initMonth, int initDay) //DATE.cpp
    {
        year = initYear;
        day = initDay;
        setmonth(initMonth);     
    }
    void setmonth(int initMonth) {
        if (1 < initMonth &&initMonth< 13) {
            month = initMonth;
        }
        else {
            month = 1;
        }
    }
    int getmonth() {
        return month;
    }    
};
int main() 
{
    cout << "The number is month number \n";
    DATE date(2020, 3, 14); 
    DATE date1(2020, 13,14);
    cout << "the ture month is " << date.getmonth() << endl;
    cout <<  "the error month is " << date1.getmonth()<<endl;
    return 0;
}

``