初级程序员填空考试卷_模拟考试题_第1页
初级程序员填空考试卷_模拟考试题_第2页
初级程序员填空考试卷_模拟考试题_第3页
初级程序员填空考试卷_模拟考试题_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、姓名:_ 班级:_ 学号:_-密-封 -线- 初级程序员填空考试卷_模拟考试题考试时间:120分钟 考试总分:100分题号一二三四五总分分数遵守考场纪律,维护知识尊严,杜绝违纪行为,确保考试结果公正。1、【说明】设计一个日期类date包括年、月、日等私有数据成员。要求实现日期的基本运算,如某日期加上天数、某日期减去天数、两日期相差的天数等。在date类中设计如下重载运算符函数:date operator + (int days) : 返回某日期加上天数得到的日期。date operator - (int days) : 返回某日期减去天数得到的日期。int operator - (date&b

2、):返回两日期相差的天数。【程序】#includeiostream.hint day tab212=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 dateint year, month, day /年,月,日int leap(int); /判断是否闰年int dton(date&)date ntod(int)public:date( )date (int y, int mint d) i year = y; mont

3、h = 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 yea;date operator + (int days) /+运算符重载函数static date date;int number =(1)date = ntod(number)return datedate operator - (int da

4、ys) /-运算符重载函数staffs date date;int number=(2);number - = days;date = ntod(number)return date;int operator - (date &b) /-运算符重载函数int days=(3);return days;void disp( )coutyear”.”month”. “dayendl;int date: :leap( int year)if(4) /是闰年return 1; /不是闰年elsereturn0:int date: dton( date &d) /求从公元0年0月0日到d日期的天数int

5、y,m,days =0;for(y=1;y=d. year;y+)if(5)days+ =366; /闰年时加366天else days + = 365; /非闰年时加365天for(m =0;md. month-1;m+)if( (6) )days += day_tab1 m;elsedays +=day_tab0 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

6、rest - = 366;else /非闰年if(rest = 365 ) break;else rest-=365;y+;y-;ip = leap(y);while(1)if(lp) /闰年if(restday_tab1 m - 1) rest -= day_tab1 m-1;else break;else /非闰if(restday_tab0 m -1) rest -= day_tab0 m-1;else break;m+;d = rest;return date(y;m,d);void main( )date now(2003,10,1) ,then(2005,6,5);cout” now:”;now. disp( );cout” then:”;then. disp( );cout”相差天数:”(then-now)endl;date dl = now + 10

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论