104303李优实验4报告

2026/4/27 16:50:36

到所有情况就能实现日期的加减。本题与树上2类题相似处也颇多,多个知识点揉合在一起,只要分清彼此之间的关联,就能实现。 程序代码、显示结果: #include

class Date {

private:

int year, month , day,y,m,d; public: Date()

{ year=0; month=1; day=1;

cout<<\类的无参构造函数被执行!\ }

Date(int a,int b,int c) //构造函数 { year=a; month=b; day=c;

cout<<\类的有参构造函数被执行!\ }

void setDate(int y,int m,int d) {

year=y; month=m; day=d; }

void show() {

cout<<\类的输出日期函数被执行! 输出日期:\ cout<

int ruinian()//判断是否为瑞年 {

if(year@0==0||(year0!=0&&year%4==0)) return 1; else

return 0; }

int Days()//判断当月天数 {

int d;

switch(month) {

case 2:

if(ruinian()) d=29; else d=28; break; case 1: case 3: case 5: case 7: case 8: case 10:

case 12:d=31;break; case 4: case 6: case 9:

case 11:d=30;break; }

return d; }

int jurdge()//判断日期数是否合理 {

cout<<\类的判断日期合法函数被执行!\ if(year<0||month<1||month>12||day<1||day>Days())

{ cout<

return 1; }

Date Tomorrow()//求明天日期 {

cout<<\类的日期加1天函数被执行!\Date jia(year,month,day);

int y1=jia.year,m1=jia.month,d1=jia.day; switch(month) {

case 1: case 3: case 5: case 7: case 8: case 10: {

if(day==31){y1=year;m1=month+1;d1=1;} else {y1=year;m1=month;d1=day+1;} break; }

case 4: case 6: case 9: case 11: {

if(day==30){y1=year;m1=month+1;d1=1;} else {y1=year;m1=month;d1=day+1;} break; }

case 2: {

if((ruinian()&&day==29)||(!ruinian()&&day==28)) {y1=year;m1=month+1;d1=1;}

else{ y1=year;m1=month;d1=day+1;} break; }

case 12: {

if(day==31){y1=year+1;m1=1;d1=1;} else {y1=year;m1=month;d1=day+1;} break; } }

jia.setDate(y1,m1,d1); return jia;

} };

void main() {

cout<<\定义2个对象:\ Date date1; date1.jurdge(); date1.show();

Date date2(2010,11,1); date2.jurdge(); date2.show();

int y,m,d,i;

for(i=1;i<5;i++) {

cout<<\第\个对象的执行情况:\

cout<<\类的输入日期函数被执行! 请按顺序输入日期:年、月、日:\cin>>y>>m>>d;

date2.setDate(y,m,d);

if(date2.jurdge()) {

cout<<\类的输出日期函数被执行! 输出日期:\年\月\日\

date2.Tomorrow().show(); }

} }

实验结果:


104303李优实验4报告.doc 将本文的Word文档下载到电脑
搜索更多关于: 104303李优实验4报告 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219