早教吧作业答案频道 -->其他-->
编写一个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.定期年金B.终身年金C.期首付年金D.期末付年 2020-05-21 …
选择题:一年时期内每期期末等额收付的系列款项是A即付年金B永续年金C递延年金D普通年金选择题:一年 2020-05-22 …
已知1年期即期利率5%,2年期即期利率6%的3年期附息债券的当前价格是960元,面值为1000元, 2020-06-27 …
人的生命周期可以划分为( )阶段。A.中年稳健期 B.退休养老期C.少年成长期 D.青年成长期E.成 2020-06-27 …
在年金时期内,每期年金额都在期末发生的年金,称为( )。A.先付年金 B.普通年金C.延期年金 D. 2020-06-27 …
以克里特岛为中心的爱琴文明辉煌时期是[]A.公元前3000年代中期B.公元前2000年代中期C.公 2020-07-07 …
下列说法错误的是()A.管制的期限是3个月以上2年以下,数罪并罚不超过3年B.拘役的期限是1个月以 2020-07-07 …
20世纪80年代中期,面对长期积累下来的矛盾,戈尔巴乔夫着手进行了改革.改革之初,他把改革的重点放在 2020-11-06 …
2003年,国务院提出振兴东北老工业基地的战略。东北工业基地形成于()A.第一个五年计划期间B.全面 2020-11-21 …
文景之治是指()A.西汉初年的清明政治统治局面B.西汉文帝景帝时期的清明统治C.文帝景帝时期的社会安 2020-12-15 …