c++上机指导二部分参考答案.doc

上传人:b****1 文档编号:133539 上传时间:2022-10-04 格式:DOC 页数:25 大小:156.50KB
下载 相关 举报
c++上机指导二部分参考答案.doc_第1页
第1页 / 共25页
c++上机指导二部分参考答案.doc_第2页
第2页 / 共25页
c++上机指导二部分参考答案.doc_第3页
第3页 / 共25页
c++上机指导二部分参考答案.doc_第4页
第4页 / 共25页
c++上机指导二部分参考答案.doc_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

c++上机指导二部分参考答案.doc

《c++上机指导二部分参考答案.doc》由会员分享,可在线阅读,更多相关《c++上机指导二部分参考答案.doc(25页珍藏版)》请在冰豆网上搜索。

c++上机指导二部分参考答案.doc

C++上机指导部分参考答案

3.编写一个函数,用来求三个数的乘积,并在主函数中调用此函数。

(1)用不带默认参数的函数实现。

(2)用带默认参数的函数实现(传递1个参数,乘积为所传递的参数;传递2个参数,则为该2个参数的乘积;传递3个参数,则为该3个参数乘积)。

对比两种方法,分析使用带默认参数的函数的优点和应用场合。

总结如何选择默认参数的值。

请分析本题中默认参数的值应该在什么范围选取

答案:

#include

intfun(intx,inty,intz)

{returnx*y*z;

}

voidmain()

{

intx,z,y;

cout<<"pleaseinputx:

y:

z:

"<

cin>>x>>y>>z;

cout<

}

2.#include

intfun(intx=2,inty=3,intz=1){returnx*y*z;}

voidmain()

{cout<

(1)<

cout<

cout<

}

4.编写一个函数,用来实现对3个数按由小到大的顺序排序,并在主函数中调用此函数。

要求函数的形参用以下两种形式实现:

(1)使用指针形参

(2)使用引用形参

答案:

#include

usingnamespacestd;

voidfun(float*p1,float*p2,float*p3)

{

floattemp;

if(*p1>*p2){temp=*p1;*p1=*p2;*p2=temp;}

if(*p1>*p3){temp=*p1;*p1=*p3;*p3=temp;}

if(*p2>*p3){temp=*p2;*p2=*p3;*p3=temp;}

}

intmain()

{

floata,b,c;

cin>>a>>b>>c;

fun(&a,&b,&c);

cout<

return0;

}

2.#include

voidfun(floatp1,floatp2,floatp3)

{

floattemp;

if(p1>p2){temp=p1;p1=p2;p2=temp;}

if(p1>p3){temp=p1;p1=p3;p3=temp;}

if(p2>p3){temp=p2;p2=p3;p3=temp;}

}

intmain()

{

floata,b,c;

cin>>a>>b>>c;

fun(a,b,c);

cout<

return0;

}

3.某单位的职工工资包括基本工资Wage,岗位津贴Subsidy,房租Rent,水费WaterFee,电费ElecFee。

设计实习工资管理的类Salary,该类的形式如下:

classSalary

{

public:

Salary(){初始化工资数据的各分项数据为0}

Salary(……){初始化工资数据的各分项数据}

voidsetXX(doublef){XX=f;}

doublegetXX(){returnXX;}

doubleRealSalary(){……}//计算实发工资

……

Private:

BoubleWage,Subsidy,Rent,WaterFee,ElecFee;

};

其中,成员函数setXX()用于设置工资的各分项数据,成员函数getXX()用于获取工资的各分项数据,XX代表Wage、Subsidy等数据成员,如Wage对应的成员函数则为setWage()和

getWage()。

实发工资=Wage+Subsidy-Rent-WaterFee-ElecFee

编程完善该类的设计,并在主函数中测试该类的各成员函数。

答案:

#include

#include

classsalary

{private:

doublewage;//基本工资

doublesubsidy;//岗位

doublerent;//房租

doublewaterfee;//水费

doubleelecfee;//电费

public:

salary(doubleWage=0,doubleSubsidy=0,doubleRent=0,doubleWaterfee=0,doubleElectfee=0)

{//初始化工资数据的各分项

wage=Wage;subsidy=Subsidy;rent=Rent;waterfee=Waterfee;elecfee=Electfee;}

salary(constsalary&s)//拷贝构造函数

{wage=s.wage;subsidy=s.subsidy;rent=s.rent;waterfee=s.waterfee;elecfee=s.elecfee;}

doublereal_salary();

voiddisplay();

~salary(){}//析构函数

};

doublesalary:

:

real_salary()

{doubleReal_Salary=0;//实际发放工资

Real_Salary=wage+subsidy-rent-waterfee-elecfee;returnReal_Salary;

}

voidsalary:

:

display()

{cout<

cout<<"基本工资:

"<<""<

"<<""<

cout<<"房租:

"<<""<

"<<""<

cout<<"电费:

"<<""<

cout<<"合计:

"<<""<

cout<<"\n";

}

voidmain()

{salarySALARY(1000,20,30,40,50);

SALARY.display();

}

4.设计一个时钟类Clock。

数据成员包括hour(小时)、minute(分钟)、second(秒)。

要求用成员函数实现以下功能:

(1)创建具有指定时钟(小时、分钟、秒)的Clock对象,默认时钟为00:

00:

00。

(2)动态地设置时、分、秒。

(3)在屏幕上按“时:

分:

秒”的格式显示时钟。

(4)在主函数中测试该类。

答案:

#include

usingnamespacestd;

classClock

{public:

Clock(inth=0,intm=0,ints=0)

{hour=h;minute=m;second=s;}

voidsetHour(){cin>>hour;}

voidsetMinute(){cin>>minute;}

voidsetSecond()

{cin>>second;}

voidshow()

{cout<

"<

"<

intgetHour(){returnhour;}

intgetMinute(){returnminute;}

intgetSecond(){returnsecond;}

private:

inthour,minute,second;

};

voidmain()

{Clocka;

cout<

"<

"<

a.show();

}

5.设计一个职工类Employee。

数据成员包括字符串型的name(姓名)、street(街道地址)、city(市)、province(省)、postalcode(邮政编码)。

要求用成员函数实现以下功能:

(1)创建职工对象时,可以按不同方式指定职工信息。

(2)动态地设置职工对象信息。

(3)在屏幕上打印职工信息。

(4)在主函数中测试该类。

参考:

#include

#include

usingnamespacestd;

classEmployee{stringname;

stringstreet;

stringcity;

stringprovince;

stringpostalcode;

public:

Employee(stringstring1,stringstring2,stringstring3,stringstring4,stringstring5)

:

name(string1),street(string2),city(string3),province(string4),postalcode(string5)

{};

Employee(stringstring_1,stringstring_2);

Employee();

voidset(stringstringa,stringstringb,stringstringc,stringstringd,stringstringe);

voiddisplay();

};

Employee:

:

Employee(stringstring_1,stringstring_2)

{name=string_1;

street=string_2;

city="福州";

province="宁德";

postalcode="10086";

}

Employee:

:

Employee()

{}

voidEmployee:

:

display()

{cout<

cout<<"\n****职工信息显示*****\n";

cout<<"*姓名:

"<<""<

cout<<"*街道地址:

"<<""<

cout<<"*市:

"<<""<

cout<<"*省:

"<<""<

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 党团建设

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1