欢迎来到天天文库
浏览记录
ID:42846529
大小:229.82 KB
页数:7页
时间:2019-09-22
《计算机水平考试-程序员分类模拟题16》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、month=m;day=d;}//+运算符重载函数//-运算符重载函数//-运算符重载函数程序员分类模拟题16试题一阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。1、【说明】设计一个F1期类Date包括年、月、口等私冇数据成员。要求实现口期的基本运算,如某FI期加上天数、某口期减去天数、两口期相差的天数等。在Date类屮设计如下重载运算符函数:Dateoperator+(intdays):返冋某日期加上天数得到的日期。Dateoperator-(intdays):返冋某日期减去天数得到的日期。in
2、toperator-(Date&b):返回两口期相差的天数。【程序】#includeintdaytab[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二维数组存加各月天*攵,第一行対■应非闰年,第二行对应闰年classDateintyear,month,day//年,月,Hintleap(int);//判断是否闰年intdton(Date&)Date
3、ntod(int)public:Date(){}Date(inty,intmintd)Iyear=y;voidsetday(intd){day=d;}voidsetmonth(intm){month=m;}voidsetyear(inty){year=y;}intgetday(){returnday;}intgetmonth(){returnmonth:}intgetyear(){returnyea;}Dateoperator+(intdays){staticDatedate;intnumber=(1)date=
4、ntod(number)returndate}Dateoperator-(intdays){staffsDatedate;intnumber=(2);number-=days;date=ntod(number)returndate;}intoperator一(Date&b)intdays=(3);returndays;}voiddisp()cout<5、nO:intDate::dton(Date&d)//求从公元0年0刀0日到d日期的天数inty,m,days=0;for(y=l;y<=d.if((5))days+elsedays+=for(m=0;m6、0日的天数转换成日期int=1zd,rest=n,lp;while(1){if(leap(y))if(rest<=366)break;//非闰年1])rest-=day_tab[1][m-1];elserest-=366;elseif(rest=365)break;elserest-=365;}y--;Ip=leap(y);while(1)y++;if(lp)//闰年//非闰if(rest>day_tab[l][m-elsebreak;elseif(rest>day_tab[0][m-1])rest一=day_t7、ab[0][m-1];elsebreak;m++;}d=rest;returnDate(y;mzd);}voidmain(){Datenow(2003,10,1)/then(2005,6,5);cout<<"now:";now・disp();cout<<"then:";then.disp();cout<<"相差天数:"<<(then-now)<8、sp();试题二阅读下列程序说明和C程序,将应填入(n)处的字句写在对应栏内。2、【说明】程序8用于计算某公司每个职工应缴纳的个人所得税额和全体职工缴纳的个人所得税总额,职工的当月收入(工资或薪金)通过键盘输入,每次输入一个职工的工号和工资(或薪金)。由于该公司的工资或薪金是不定时发放的,所以输入过程中每个职工的收入会出现多次输入,整个输入以工号小于等于0结束。假设个人所
5、nO:intDate::dton(Date&d)//求从公元0年0刀0日到d日期的天数inty,m,days=0;for(y=l;y<=d.if((5))days+elsedays+=for(m=0;m6、0日的天数转换成日期int=1zd,rest=n,lp;while(1){if(leap(y))if(rest<=366)break;//非闰年1])rest-=day_tab[1][m-1];elserest-=366;elseif(rest=365)break;elserest-=365;}y--;Ip=leap(y);while(1)y++;if(lp)//闰年//非闰if(rest>day_tab[l][m-elsebreak;elseif(rest>day_tab[0][m-1])rest一=day_t7、ab[0][m-1];elsebreak;m++;}d=rest;returnDate(y;mzd);}voidmain(){Datenow(2003,10,1)/then(2005,6,5);cout<<"now:";now・disp();cout<<"then:";then.disp();cout<<"相差天数:"<<(then-now)<8、sp();试题二阅读下列程序说明和C程序,将应填入(n)处的字句写在对应栏内。2、【说明】程序8用于计算某公司每个职工应缴纳的个人所得税额和全体职工缴纳的个人所得税总额,职工的当月收入(工资或薪金)通过键盘输入,每次输入一个职工的工号和工资(或薪金)。由于该公司的工资或薪金是不定时发放的,所以输入过程中每个职工的收入会出现多次输入,整个输入以工号小于等于0结束。假设个人所
6、0日的天数转换成日期int=1zd,rest=n,lp;while(1){if(leap(y))if(rest<=366)break;//非闰年1])rest-=day_tab[1][m-1];elserest-=366;elseif(rest=365)break;elserest-=365;}y--;Ip=leap(y);while(1)y++;if(lp)//闰年//非闰if(rest>day_tab[l][m-elsebreak;elseif(rest>day_tab[0][m-1])rest一=day_t
7、ab[0][m-1];elsebreak;m++;}d=rest;returnDate(y;mzd);}voidmain(){Datenow(2003,10,1)/then(2005,6,5);cout<<"now:";now・disp();cout<<"then:";then.disp();cout<<"相差天数:"<<(then-now)<8、sp();试题二阅读下列程序说明和C程序,将应填入(n)处的字句写在对应栏内。2、【说明】程序8用于计算某公司每个职工应缴纳的个人所得税额和全体职工缴纳的个人所得税总额,职工的当月收入(工资或薪金)通过键盘输入,每次输入一个职工的工号和工资(或薪金)。由于该公司的工资或薪金是不定时发放的,所以输入过程中每个职工的收入会出现多次输入,整个输入以工号小于等于0结束。假设个人所
8、sp();试题二阅读下列程序说明和C程序,将应填入(n)处的字句写在对应栏内。2、【说明】程序8用于计算某公司每个职工应缴纳的个人所得税额和全体职工缴纳的个人所得税总额,职工的当月收入(工资或薪金)通过键盘输入,每次输入一个职工的工号和工资(或薪金)。由于该公司的工资或薪金是不定时发放的,所以输入过程中每个职工的收入会出现多次输入,整个输入以工号小于等于0结束。假设个人所
此文档下载收益归作者所有