#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;
}
``