首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中包含了日期类Date、人员类Person及排序函数sortByAge和主函数main的定义。其中Person的成员函数eomp~eAge的功能是:将当前Person对象和参数Pe
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中包含了日期类Date、人员类Person及排序函数sortByAge和主函数main的定义。其中Person的成员函数eomp~eAge的功能是:将当前Person对象和参数Pe
admin
2015-06-27
47
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中包含了日期类Date、人员类Person及排序函数sortByAge和主函数main的定义。其中Person的成员函数eomp~eAge的功能是:将当前Person对象和参数Person对象进行比较,若前者的年龄大于后者的年龄,则返回一个正数;若前者的年龄小于后者的年龄,则返回一个负数;若年龄相同则返回0。注意,出生日期越大,年龄越小。请编写成员函数compareAge。在main函数中给出了一组测试数据,此时程序的正确输出结果应为:
按年龄排序
排序前:
张三男出生日期:1978年4月20日
王五女出生日期:1965年6月3日
杨六女出生日期:1965年9月5日
李四男出生日期:1973年5月30日
排序后:
张三男出生日期:1978年4月20日
李四男出生日期:1973年5月30日
杨六女出生日期:1965年9月5日
王五女出生日期:1965年6月3日
要求:
补充编制的内容写在“//**********333**********”与“//**********666**********”之间,不得修改程序的其他部分。
注意:程序最后将结果输出到文件out.dat中。输出函数WriteToFile已经编译为obj文件,并且在本程序中调用。
//Person.h
#include
usingnamespacestd;
classDate{//日期类
intyear,month,day;//年、月、日
public:
Date(intyear,intmonth,intday):
year(year),month(month),day(day){}
intgetYear()const{returnyear;}
intgetMonth()const(return
month;}
intgetDay()const{returnday;}
};
classPerson{//人员类
charname[14];//姓名
boolismale;//性别,为true时表示男性
Datebirthdate;//出生日期
public:
Person(char*name,boolismale,Datebirthdate);
constchar*getName()const(re
turnname;}
boolisMale()const{returnismale;}
DategetBirthdate()const{returnbirthdate;}
intcompareAge(constPerson&p)const;
voidshow()const;
};
voidsortByAge(Personps[],intsize);
voidwriteToFile(char*);
}
voidPerson::show()const{
cout<
cout<
<<(ismale?"男":"女")//显示性别(“男”或“女”)
<<"出生日期:"//显示出生日期
<
<
<
}
voidsortByAge(Personps[],intsize)
{//对人员数组按年龄由小到大的顺序排序
for(inti=0;i
采用选择排序算法
intm=i;
for(intj=i+1;j
if(ps[j].compareAge(ps[m])<0)
m=j;
if(m>i){
Personp=ps[m],
ps[m]=ps
;
ps
=p;
}
}
}
intmain(){
Personstaff[]={
Person("张三",true,Date(1978,4,20)),
Person("王五",false,Date(1965,6,3)),
Person("杨六",false,Date(1965,9,5)),
Person("李四",true,Date(1973,5,30))
};
constintsize=sizeof(staff)/sizeof(staff[0]);
inti;
cout<<"按年龄排序n<
for(i=0;i
.show();
sortByAge(staff,size);
cout<
for(i=0;i
.
show();
cout<
writeToFile("");
return0;
}
选项
答案
int n = 0; n = p.birth_date.getYear() - birth_date.getYear(); if (n != 0) return n; n = p.birth_date.getMonth() - birth_date.getMonth(); if (n != 0) return n; return p.birth_date.getDay() - birth_date.getDay();
解析
compareAge函数的功能是比较年龄大小并排序。先比较年,再比较月,最后是比较日。
转载请注明原文地址:https://kaotiyun.com/show/aBBD777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
认为“教育的根本功能不是提高人的生产能力,而是造成人的不同品质,与现存的社会经济结构和等级秩序相适应”的教育经济学理论是()
下列关于实用主义的说法错误的是
教育的个体个性化功能主要体现在:它促进人的主体意识的发展,促进人的个体特征的发展,以及促进人的
童年期认识事物多以具体形象的方式,青年初期则可以运用抽象思维。这说明人的身心发展具有
某工业企业有房屋三幢,其中两幢房屋用于本企业生产经营,其账面原值为670万元,另一幢房屋出租给一商业企业,账面原值为120万元,年租金80万元。要求:计算该工业企业当年应纳的房产税税额(当地政府规定计税时允许按房产原值一次减除30%)。
设f(χ)为[-a,a]上的连续的偶函数且f(χ)>0,令F(χ)=∫-aa|χ-t|f(t)dt..(Ⅰ)证明:F′(χ)单调增加.(Ⅱ)当χ取何值时,F(χ)取最小值?(Ⅲ)当F(χ)的最小值为f(a)-a2-1时,求函数f(χ).
下列叙述中正确的是()。
下列运算符中属于关系运算符的是()。
若MyClass为一个类,执行MyClassa[4],*p[5];语句时会自动调用该类构造函数的次数是()。
有如下类定义:classMyClass{intvalue;public:MyClass(intn):value(n){}intgetValue()const{returnvalue;}};则类MyClass的构造函数的
随机试题
A.黄水B.云门C.阴俞D.莲花E.弓子治疗马母马阴道脱、子宫脱、带下和公马阴肾黄、垂缕不收宜选
A.临时心脏起搏器置入B.肾上腺素C.直流电复律D.毛花苷丙(西地兰)E.阿托品女,30岁,发热3天,晕厥1次,心电图显示三度房室传导阻滞,心室率40次/分。治疗应首选
A.不得调剂B.应当告知处方医师,请其确认或者重新开具处方C.药师可自行修改D.应当拒绝调剂,及时告知处方医师,并应当记录,按照有关规定报告在处方调剂过程中,最关键的步骤就是药师对处方的核查。在审核的过程中,药师应该对于不规范处方或不能判定其合
在会计电算化过程中,将原手工会计核算资料输入计算机的过程称为()。
税收必须以()为其依据和保障。
材料1 2015年,39岁的李民被派驻到大山深处的林沟村担任第一书记。今年春节,李民仍然驻在村里,“村里的事太多了,回不去。”怀着内疚的心情,李民给老婆和8岁的孩子虎子写了一封家信。以下就是这封家信。亲爱的老婆、孩子: 刚起个头,我竟然不知道从何
(A)条件(1)充分,但条件(2)不充分.(B)条件(2)充分,但条件(1)不充分.(C)条件(1)和条件(2)单独都不充分,但条件(1)和条件(2)联合起来充分.(D)条件(1)充分,条件(2)也充分.(E)条件(1)和条件(2)单独都不充分,条
俗话说,牙疼不是病,但疼起来真要命。前些日子我突然开始牙疼,随便找了点止疼药,希望赶紧止住疼痛。可试了好些天都不管用,最后还是得找牙医。
Ideas,emotionsorthoughtshavetobepresentedinwaysthatmakethemcommunicable,________inwords,music,graphic,orartf
WesternNebraskagenerallyreceiveslesssnowthan______EasternNebraska.
最新回复
(
0
)