早教吧作业答案频道 -->其他-->
编写一个cdate类,描述由年月日组成的日期。要求:1.具有构造函数,用来初始化年月日。使得该类可以象下面这样产生对象:cdated1(1980,12,31);//初始化为1980/12/2cdated2;//用一个固定日期
题目详情
编写一个cdate类,描述由年月日组成的日期。要求:
1.具有构造函数,用来初始化年月日。使得该类可以象下面这样产生对象:
cdate d1(1980,12,31);//初始化为1980/12/2
cdate d2;//用一个固定日期初始化,如1900/1/1
cdate d3(2003,3,79);//非法参数,同上初始化为1900/1/1
1.具有构造函数,用来初始化年月日。使得该类可以象下面这样产生对象:
cdate d1(1980,12,31);//初始化为1980/12/2
cdate d2;//用一个固定日期初始化,如1900/1/1
cdate d3(2003,3,79);//非法参数,同上初始化为1900/1/1
▼优质解答
答案和解析
#include
class CDate{ int year;
int month;
int day;
bool isTrue(int y, int m, int d);
public:
CDate(){
year = 1990;
month = 1;
day = 1;
}
CDate(int y, int m, int d){ if (isTrue(y, m, d)){
year = y;
month = m;
day = d;
}
else{
year = 1990;
month = 1;
day = 1;
}
}
};
bool CDate::isTrue(int y, int m, int d){ if (y<=0 || m<=0 || d<=0)
return false;
if (((y%4 == 0) && (y%100 != 0)) || (y%400 == 0)){
if (m == 2 && d <= 29)
return true;
}
else{
if (m==4 || m==6 || m==9 || m==11)
if (d<=30)
return true;
else
return false;
if (m==2)
if (d<=28)
return true;
else
return false;
else{
if (d<=31)
return true;
else
return false;
}
}
}
int main(){
CDate d1();
CDate d2(1980,12,31);
CDate d3(2003,3,79);
return 0;
}
class CDate{ int year;
int month;
int day;
bool isTrue(int y, int m, int d);
public:
CDate(){
year = 1990;
month = 1;
day = 1;
}
CDate(int y, int m, int d){ if (isTrue(y, m, d)){
year = y;
month = m;
day = d;
}
else{
year = 1990;
month = 1;
day = 1;
}
}
};
bool CDate::isTrue(int y, int m, int d){ if (y<=0 || m<=0 || d<=0)
return false;
if (((y%4 == 0) && (y%100 != 0)) || (y%400 == 0)){
if (m == 2 && d <= 29)
return true;
}
else{
if (m==4 || m==6 || m==9 || m==11)
if (d<=30)
return true;
else
return false;
if (m==2)
if (d<=28)
return true;
else
return false;
else{
if (d<=31)
return true;
else
return false;
}
}
}
int main(){
CDate d1();
CDate d2(1980,12,31);
CDate d3(2003,3,79);
return 0;
}
看了编写一个cdate类,描述由年...的网友还看了以下:
第二次全国经济普查的标准时点为()。A.2003年12月31日B.2004年12月31日C.2008 2020-06-07 …
二、2011年1月20日,查账人员对某企业2010年12月31日资产负债表进行检查时,查得“货币资 2020-07-08 …
某商店2003年商品库存额资料如下:1月1日6301月31日6002月28日5503月31日480 2020-07-25 …
企业应当依照有关法律、法规和条例规定的结账日进行结账,不得提前或延迟.以下结账日正确的是()A每月底 2020-10-31 …
王某的长篇小说《东方之星》于1997年6月1日发表,第2年王某去世。王某的著作财产权将终止于A.20 2020-11-06 …
8月31日,结转各种收入、费用等后,本年利润账户有贷方余额50000元,其含义表示()A.8月份实现 2020-11-07 …
开幕式时沈阳的时间是8月31日20时(北京时间:东八区)则纽约(西五区)是()A、8月30日7时B、 2020-11-07 …
公司理财题目:某公司拟定2008年4月1号购买一张面额1000元的债券,其票面率利为12%,每年4月 2020-11-21 …
2014年春节联欢晚会于1月30日20时在北京(东八区)举行,同时全球直播,居住在伦敦(中时区)的华 2020-12-29 …
公司为一上市公司,适用的企业所得税税率为25%,相关资料如下:资料一:2010年12月31日发行公司 2020-12-29 …