搜题
网友您好,请在下方输入框内输入要搜索的题目:
搜题
题目内容 (请给出正确答案)
提问人:网友陈银桑 发布时间:2022-01-07
[主观题]

定义一个处理日期的类TDate,它有3个私有数据成员:Month,Day,Year和若干个公有成员函数,并实现

如下要求:

①构造函数重载;②成员函数设置缺省参数;③定义一个友元函数来打印日期(3分);④可使用不同的构造函数来创建不同的对象。

简答题官方参考答案 (由简答题聘请的专业题库老师提供的解答)
查看官方参考答案
更多“定义一个处理日期的类TDate,它有3个私有数据成员:Month,Day,Year和若干个公有成员函数,并实现”相关的问题
第1题
●试题八

阅读以下说明和C++程序,将应填入(n)处的字句写在答题纸的对应栏内。

【说明】

设计一个日期类Date包括年、月、日等私有数据成员。要求实现日期的基本运算,如某日期加上天数、某日期减去天数、两日期相差的天数等。

在Date类中设计如下重载运算符函数:

Date operator+(int days):返回某日期加上天数得到的日期。

Date operator-(int days):返回某日期减去天数得到的日期。

int operator-(Date&b):返回两日期相差的天数。

【程序】

#include

int day tab[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31},

{31,29,31,30,31,30,31,31,30,31,30,31}};

∥day_tab二维数组存放各月天数,第一行对应非闰年,第二行对应闰年class Date

{

int year,month,day;∥年,月,日

int leap(int);∥判断是否为闰年

int dton(Date&);

Date ntod(int);

public:

Date(){}

Date(int y,int mint d){year=y;month=m;day=d;}

void setday(intd){day=d;}

void setmonth(int m){month=m;}

void setyear(int y){year=y;}

int getday(){return day;}

int getmonth(){return month:}

int getyear(){return year;)

Date operator+(int days)∥+运算符重载函数

{

static Date date;

int number= (1) ;

date=ntod(number);

return date;

}

Date operator-(int days)∥-运算符重载函数

{

staffs Date date;

int number= (2) ;

number-=days;

date=ntod(number);

return date;

}

int operator-(Date &b)∥-运算符重载函数

{

int days= (3) ;

return days;

}

void disp()

{

cout$amp;}

};

int Date::leap(int year)

{if((4) )∥是闰年

return 1;∥不是闰年

else

return0:

}

int Date::dton(Date &d)∥求从公元0年0月0日到d日期的天数

{

inty,m,days=0;

for(y=1;y<=d.year;y++)

if((5) )days+=366;∥闰年时加366天

else days+=365;∥非闰年时加365天

for(m=0;m

if((6) )

days+=day_tab[1][m];

else

days+=day_tab[0][m];

days+=D.day;

return days;

}

Date Date::ntod(intn)∥将从公元0年0月0日的天数转换成日期

{

int y=1,m=1,d,rest=n,lp;

while (1)

{if(leap(y))

if(rest<=366)break;

else rest-=366;

else∥非闰年

if(rest=365)break;

else rest-=365;

y++;

}

y--;

Ip=Ieap(y);

while (1)

{

if(Ip)∥闰年

if(rest>day_tab[1][m-1])rest-=day_tab[1][m-1];

else break;

else∥非闰年

if(rest>day_tab[0][m-1])rest-=day_tab[0][m-1];

else break;

m++;

}

d=rest;

return Date(y;m,d);

}

void main()

{

Date now(2003,10,1),then(2005,6,5);

cout$amp;cout$amp;cout$amp;Date dl=now+1000,d2=now-1000;

cout$amp;cout$amp;}

点击查看答案
第2题
阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。

【说明】 某文本文件中保存了若干个日期数据,格式如下(年/月/日): 2005/12/1 2013/2/29 1997/10/11 1980/5/15 .... 但是其中有些日期是非法的,例如2013/2/29是非法日期,闰年(即能被400整除或者能被4整除而不能被100整除的年份)的2月份有29天,2013年不是闰年。现要求将其中自1985/1/1开始、至2010/12/31结束的合法日期挑选出来并输出。 下面的C代码用于完成上述要求。 【C代码】 include typedef struct{ int year, month, day;/* 年,月,日*/ }DATE; int isLeap Year(int y) /*判断y表示的年份是否为闰年,是则返回1,否则返回0*/ { return((y%4==0 && y%100!=0)Il(y%400==0)); } int isLegal(DATE date) /*判断date表示的日期是否合法,是则返回1,否则返回0*/ { int y=date.year,m= date.month,d=date.day; if (y<1985 II y>2010 II m<1 II m>12 II d31) return 0; if((m==4 ll m==6 ll m==9 II m==11)&& (1) ) return 0; If(m==2){ if(isLeap Year(y)&& (2) ) return 1; 。 else if (d>28) return 0; } return 1; } Int Lteq(DATE d1,DATE d2) /*比较日期d1和d2,若d1在d2之前或相同则返回1,否则返回0*/ { Long t1,t2; t1=d1.year*10000+d1.month*100+d1.day; t2=d2.year*10000+d2.month*100+d2.day; if((3) ) return 1; else return 0; } int main() { DATE date,start={1985,1,1},end={2010,12,30}; FILE*fp; fp=fopen(“d.txt”,”r”); If((4) ) return-1; while(!feof(fp)){ if(fscanf(fp,”%d%d%d”,&date.year,&date.month,&date.day)!=3) break; if((5) ) /*判断是否为非法日期 */ continue; if((6) ) /*调用Lteq判断是否在起至日期之间*/ printf(“%d%d%d\n”,date.year,date.month,date.day); } fclose(fp); Return 0; }

点击查看答案
第3题
劳动密集型企业认定标准
为什么有的国家劳动密集型企业较多,而另一些国家资本密集型企业较多?

点击查看答案
第4题
洗衣袋的作用是什么
某洗衣粉的包装袋上印有如下说明:

请回答下列问题:

(1)质检局针对该洗衣粉设计丁如下实验:质检局做该实验的目的是__________,可通过观察________予以确认。

(2)某中学生为探究该洗衣粉中酶催化作用的最适温度,参考上表中的材料及方法进行了有关实验,并把实验结果以曲线图A、B的形式表现了出来。

①.由图可知,使用该加酶洗衣粉的最适温度约为________,溶化洗衣粉的水温度应低于____________。

②.在0℃和75℃时,酶的催化效率基本降为零,用语言描述0℃-45℃时酶催化效率变化趋势_________。

③.请在B图中画出从75℃至45℃的催化效率变化曲线。这样画的理由是____________。

④.该学生在实验过程中可通过直接测定不同温度下______________来表示酶的催化效率的高低。

(3)该加酶洗衣粉用后要彻底洗手,其主要原因是_________________。

(4)推广使用加酶洗衣粉替代含磷洗衣粉的意义主要在于____________________。

点击查看答案
第5题
盗墓笔记一共几部
《盗墓笔记》中玩家最多可以装备几个神器?

点击查看答案
第6题
正常人一天体温波动
正常人体温一天的波动范围是多少

正常人的体温在一天内可以上下波动,但是波动范围一般不会超过1℃。( )

点击查看答案
第7题
偶成戴望舒
戴望舒的《偶成》创作于( )

A.抗日战争初期

B.抗日战争晚期

C.解放战争前期

D.解放战争晚期

点击查看答案
第8题
关于子宫平滑肌肿瘤,下列哪些说法是正确的()
A.子宫平滑肌瘤容易恶变为平滑肌肉瘤

B.绝经后,平滑肌瘤可逐渐萎缩

C.核分裂数目是诊断平滑肌肉瘤的重要依据

D.平滑肌肉瘤常有肌层及血管浸润

点击查看答案
第9题
归责机关不可以将不知法作为一个减轻责任的考量,酌情减轻一定的责任()

此题为判断题(对,错)。

点击查看答案
重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案
购买前请仔细阅读《购买须知》
请选择支付方式
微信支付
支付宝支付
点击支付即表示你同意并接受《服务协议》《购买须知》
立即支付
搜题卡使用说明

1. 搜题次数扣减规则:

功能 扣减规则
基础费
(查看答案)
加收费
(AI功能)
文字搜题、查看答案 1/每题 0/每次
语音搜题、查看答案 1/每题 2/每次
单题拍照识别、查看答案 1/每题 2/每次
整页拍照识别、查看答案 1/每题 5/每次

备注:网站、APP、小程序均支持文字搜题、查看答案;语音搜题、单题拍照识别、整页拍照识别仅APP、小程序支持。

2. 使用语音搜索、拍照搜索等AI功能需安装APP(或打开微信小程序)。

3. 搜题卡过期将作废,不支持退款,请在有效期内使用完毕。

请使用微信扫码支付(元)

订单号:

遇到问题请联系在线客服

请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示:请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

- 微信扫码关注简答题 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反简答题购买须知被冻结。您可在“简答题”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注简答题 -
请用微信扫码测试
欢迎分享答案

为鼓励登录用户提交答案,简答题每个月将会抽取一批参与作答的用户给予奖励,具体奖励活动请关注官方微信公众号:简答题

简答题官方微信公众号

简答题
下载APP
关注公众号
TOP