ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:17.71KB ,
资源ID:11529081      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11529081.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c++第九章练习答案.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c++第九章练习答案.docx

1、c+第九章练习答案1设计一个Person类,包含name、age、sex属性以及对这些属性操作的方法。实现并测试这个类。根据类的封装性要求,把name、age、sex声明为私有的数据成员,声明公有的成员函数Register()、ShowMe()来访问这些属性,在Register()函数中对数据成员进行初始化。person1通过cin来得到信息,person2通过Register(Zhang3, 19, m) 来得到信息。程序的运行结果如下所示:Enter a persons name, age and sex:Li4 18 fperson1:Li4 18 fperson2:Zhang3 19

2、m#include #include using namespace std;class Personprivate: char Name20; char Sex; int Age;public: void Register(char *name, int age, char sex); void ShowMe(); void Person: Register(char *name, int age, char sex) strcpy(Name, name); Age = age; Sex = (sex = m? m:f); void Person: ShowMe() cout Name Ag

3、e Sex endl;int main() char name20,sex; int age; Person person1,person2; coutEnter a persons name, age and sex:nameagesex; person1.Register(name,age,sex); coutperson1:; person1.ShowMe(); person1.Register(Zhang3,19,m); person2=person1; coutperson2:; person2.ShowMe(); return 0;2设计一个完整的Date类,包含属性day, mo

4、nth, year以及对这些属性操作的方法。实现并测试这个类。根据类的封装性要求,把day, month, year声明为私有的数据成员。输入输出函数为 void init(int,int,int)、void print_ymd()、void print_mdy()。程序的运行结果如下所示:Enter date(day month year:1 12 20102010-12-112-1-2010 (简单的日期类) 公有的数据成员#include using namespace std;class Datepublic: int day,mouth,year;void set_date(Date

5、& d);void show_date1(Date d);void show_date2(Date d);int main() coutEnter date(day month year:d.dayd.mouth d.year;void show_date1(Date d) coutd.mouth -d.day -d.year endl;void show_date2(Date d) coutd.year -d.mouth -d.day endl;(简单的完整日期类) 私有的数据成员#include using namespace std;class Dateprivate: int day,

6、mouth,year;public: void init(int,int,int); void print_ymd(); void print_mdy();void Date:init (int yy,int mm,int dd) mouth=(mm=1&mm=1900&yy=1&dd=31)?dd:1;void Date:print_ymd () coutyear-mouth-dayendl;void Date:print_mdy () coutmouth-day-yearendl;int main() coutEnter date(day month year:daymouthyear;

7、date1.init(year,mouth,day); date1.print_ymd(); date1.print_mdy(); return 0;3设计一个Dog类,包含name、age、sex和weight等属性以及对这些属性操作的方法。实现并测试这个类。根据类的封装性要求,把name、age、sex和weight声明为私有的数据成员,编写公有成员函数setdata()对数据进行初始化,GetName()、GetAge()、GetSex()和GetWeight()获取相应属性。初始化数据由用户输入。程序的运行结果如下所示:Please input name, age, sex and w

8、eightahuang 3 m 2.4Dogs name:ahuangDogs age:3Dogs sex:mDogs weight:2.4Dog speak:Arf!Arf!注意,其中第2行“ahuang 3 m 2.4”为输入,单引号为中文单引号#include #include using namespace std;class Dog char name20; char sex; int age; float weight;public: void Register(char * Name,int Age,char Sex,float Weight); char * GetName()

9、return name; int GetAge()return age; char GetSex()return sex; float GetWeight()return weight; void Speak()coutArf!Arf!endl;void Dog:Register(char * Name,int Age,char Sex,float Weight) strcpy(name,Name); age=Age; sex=Sex; weight=Weight;int main() coutPlease input name, age, sex and weightnameagesexwe

10、ight; dog1.Register(name,age,sex,weight); coutDogs name:dog1.GetName()endl; coutDogs age:dog1.GetAge()endl; coutDogs sex:dog1.GetSex()endl; coutDogs weight:dog1.GetWeight()endl; coutDog speak:; dog1.Speak(); return 0;4设计并测试一个名为Ellipse的椭圆类,其属性为外接矩形的左上角与右下角两个点的坐标,并能计算出椭圆的面积。根据类的封装性要求,在类的声明中用4个私有的整型变量表

11、示两个点的坐标值,声明成员函数initial(int,int,int,int)初始化数据成员,函数GetPosition(int&,int&,int&,int&)读取坐标值,函数Area()计算面积。程序的运行结果如下所示:Please input 4 integers to define a ellipse:3 3 9 9The area of e1:28.2743The coordinates of e2:1,1,4,3#include #include using namespace std;class Ellipse private: int x1,y1,x2,y2;public: E

12、llipse(int,int,int,int); void GetPosition(int&,int&,int&,int&); double Area();Ellipse:Ellipse(int a,int b,int c,int d):x1(a),y1(b),x2(c),y2(d)void Ellipse:GetPosition(int &a,int &b,int &c,int &d) a=x1,b=y1,c=x2,d=y2;double Ellipse:Area() return (double)abs(x1-x2)*(y1-y2)/4*3.14159;int main() int x1,

13、y1,x2,y2; coutPlease input 4 integers to define a ellipse: x1 y1 x2 y2; Ellipse e1(x1,y1,x2,y2); Ellipse e2(1,1,4,3); e2.GetPosition(x1,y1,x2,y2); coutThe area of e1:e1.Area()endl; coutThe coordinates of e2:x1,y1,x2,y2endl; return 0;5仿照Date类设计一个Time类,成员函数SetTime()设置时间,print_12()以12小时制显示时间(AM上午,PM下午)

14、,print_24()以24小时制显示时间。程序的运行结果如下所示:Please input a time(h,m,s)13 23 3401:23:34 PM13:23:34#include #include using namespace std;class Time int hour,minute,second;public: int SecCalc(); Time(int h=0,int m=0,int s=0); void SetTime(int h=0,int m=0,int s=0); void print_12(); void print_24(); void print_hms

15、(); Time Add(Time&); Time Sub(Time&);Time:Time(int h,int m,int s)SetTime(h,m,s);void Time:SetTime(int hh,int mm,int ss) hour=(hh=0&hh=0&mm=0&ss=59)?ss:0;void Time:print_24() cout(hour10)?0:0)hour: (minute10)?0:0)minute: (second10)?0:0)second;void Time:print_12() int hh=(hour=0|hour=12)?12:hour%12; c

16、out(hour10)?0:0)hh: minute: second (hour12?AM:PM);void Time:print_hms() couthour:minute:secondendl;int Time:SecCalc() return(hour*60+minute)*60+second;Time Time:Add(Time& t) Time tmp; int ss; ss=SecCalc()+t.SecCalc(); tmp.hour=ss/3600%24; tmp.minute=ss%3600/60; tmp.second=ss%3600%60; return tmp;Time

17、 Time:Sub(Time& t) Time tmp; int ss; ss=abs(SecCalc()-t.SecCalc(); tmp.hour=ss/3600%24; tmp.minute=ss%3600/60; tmp.second=ss%3600%60; return tmp;int main() Time t1(2,34),t2; coutPlease input a time(h,m,s)hms; t2.SetTime(h,m,s); t2.print_12(); cout endl; t2.print_hms(); return 0;#include #include usi

18、ng namespace std;class Time int hour,minute,second;public: int SecCalc(); Time(int h=0,int m=0,int s=0); void SetTime(int h=0,int m=0,int s=0); void print_12(); void print_24(); void print_hms(); Time Add(Time&); Time Sub(Time&);Time:Time(int h,int m,int s)SetTime(h,m,s);void Time:SetTime(int hh,int

19、 mm,int ss) hour=(hh=0&hh=0&mm=0&ss=59)?ss:0;void Time:print_24() cout(hour10)?0:)hour: (minute10)?0:)minute: (second10)?0:)second; coutendl;void Time:print_12() int hh=(hour=0|hour=12)?12:hour%12; cout(hour10)?0: )hh: minute: second (hour12?AM:PM);void Time:print_hms() couthour:minute:secondendl;in

20、t Time:SecCalc() return(hour*60+minute)*60+second;Time Time:Add(Time& t) Time tmp; int ss; ss=SecCalc()+t.SecCalc(); tmp.hour=ss/3600%24; tmp.minute=ss%3600/60; tmp.second=ss%3600%60; return tmp;Time Time:Sub(Time& t) Time tmp; int ss; ss=abs(SecCalc()-t.SecCalc(); tmp.hour=ss/3600%24; tmp.minute=ss

21、%3600/60; tmp.second=ss%3600%60; return tmp;int main() Time t2; coutPlease input a time(h,m,s)hms; t2.SetTime(h,m,s); t2.print_12(); cout endl; t2.print_24(); return 0;6设计一个Circle(圆)类,其私有数据成员有圆心坐标x和y及半径r。其公有成员函数为:Set(int,int,double);设置圆的属性;void show(void); 显示圆心和半径;double circumference(void);计算周长;dou

22、ble area(void);计算面积;在主函数中用该类声明对象,输入圆心、半径,调用相关函数为对象设置属性,显示圆的半径、圆心,计算圆的周长、面积。注意,圆周率用3.14。程序运行结果如下:请输入圆心坐标和圆的半径1 1 1.5该圆为圆心(1,1)半径1.5圆的周长为9.42圆的面积为7.065#includeusing namespace std;class yuan int x,y; double r;public: void set(int,int,double); double c()return 2*3.14*r; double area();void yuan:set(int a

23、,int b,double c) x=a,y=b,r=c;double yuan:area() return 3.14*r*r;int main() int x,y; double r; cout请输入圆心坐标和圆的半径xyr; yuan y1; y1.set(x,y,r); cout该圆为endl; cout圆心(x,y)endl; cout半径rendl; cout圆的周长为y1.c()endl; cout圆的面积为y1.area()endl; return 0;#includeusing namespace std;class yuan int x,y; double r;public:

24、 void set(int,int,double); double circumference(); double area();void yuan:set(int a,int b,double c) x=a,y=b,r=c;double yuan:circumference() return 2*3.14*r;double yuan:area() return 3.14*r*r;int main() int x,y; double r; cout请输入圆心坐标和圆的半径xyr; yuan y1; y1.set(x,y,r); cout该圆为endl; cout圆心(x,y)endl; cout半径rendl; cout圆的周长为y1.circumference()endl; cout圆的面积为y1.area()endl; return 0;

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

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