大连海事大学C语言与Windows程序设计6道课后题答案.docx

上传人:小** 文档编号:13291477 上传时间:2020-06-12 格式:DOCX 页数:12 大小:21.42KB
收藏 版权申诉 举报 下载
大连海事大学C语言与Windows程序设计6道课后题答案.docx_第1页
第1页 / 共12页
大连海事大学C语言与Windows程序设计6道课后题答案.docx_第2页
第2页 / 共12页
大连海事大学C语言与Windows程序设计6道课后题答案.docx_第3页
第3页 / 共12页
资源描述:

《大连海事大学C语言与Windows程序设计6道课后题答案.docx》由会员分享,可在线阅读,更多相关《大连海事大学C语言与Windows程序设计6道课后题答案.docx(12页珍藏版)》请在装配图网上搜索。

1、大连海事大学C语言与Windows程序设计6道课后题答案1.(1)设计具有以下功能的程序:从键盘上输入10个非负整数,统计并输出最大数和最小数,当输入负数时结束输入。#include void main() int a, max=-1, min=32767,num=1; coutPlease input a number:a; if(amax) max =a; if(a=0&num=0) coutMax=maxendlMin=minendl; else coutNo data!;1.(2)编程序实现求和:S=1-1/3+1/5-1/7+1/n。要求:n值在程序运行时从键盘输入。#include

2、void main()int i,n,sign=1;float sum=0.0;printf(请输入n:);scanf(%d,&n);for(i=1;i=n;i+=2)sum+=sign*(1.0/i);sign=-sign;printf(nsum=%fn,sum);2.设计具有以下功能的程序:从键盘输入10个整数,然后排序。(要求:利用函数调用实现并以数组作为函数的参数)3. 编写几何点(二维平面上)的类Point,包括位置属性(二维坐标x,y), 成员函数包括: 点的位置获取函数GetX()和GetY(), 点的位置设置函数SetX()和SetY(), 点的位置移动函数MoveTo() 点

3、的信息打印函数Display()。void main()Point p(100,100); p.Display(); p.MoveTo(200,200);coutafter movingendl; p.Display();程序输出结果如下:X: 100Y: 100after movingX: 200Y: 200#include class Pointprivate: int X;int Y;public:Point(int X, int Y)this-X = X;this-Y = Y;Point()this-X = 0;this-Y = 0;Point()int GetX()return th

4、is-X;int GetY()return this-Y;void SetX(int X)this-X = X;void SetY(int Y)this-Y = Y;void MoveTo(int X, int Y)SetX(X);SetY(Y);void Display()coutX: GetX()endl;coutY: GetY()endl;4. 编写几何图形圆的类Circle,包括两个属性:圆心O(用上题中的Point类实现)和半径R。 成员函数包括: 圆心位置获取函数GetO() 半径获取函数GetR() 半径位置设置函数SetR() 圆的位置移动函数MoveTo() 圆的半径设置函数

5、SetR() 圆的信息打印函数Display()void main()Point p(100,100);Point p2(200,200);Circle c(p, 100);c.Display();c.MoveTo(p2);coutafter movingendl;c.Display();c.SetR(200);coutafter altering rendl;c.Display();程序输出结果如下:Circle: (100,100),100after movingCircle: (200,200),100after altering rCircle: (200,200),200#inclu

6、de class Pointprivate: int X;int Y;public:Point(int X, int Y)this-X = X;this-Y = Y;Point()this-X = 0;this-Y = 0;Point()int GetX()return this-X;int GetY()return this-Y;void SetX(int X)this-X = X;void SetY(int Y)this-Y = Y;void MoveTo(int X, int Y)SetX(X);SetY(Y);/*void Display()coutX: GetX()endl;cout

7、Y: GetY()R = R;Circle()Point GetO()return this-O;int GetR()return this-R;void MoveTo(Point& p)O.MoveTo(p.GetX(), p.GetY();void SetR(int R)this-R = R;void Display()coutCircle: (O.GetX(),O.GetY(),Rendl;void main()Point p(100,100);Point p2(200,200);Circle c(p, 100);c.Display();c.MoveTo(p2);coutafter mo

8、vingendl;c.Display();c.SetR(200);coutafter altering rendl;c.Display();5. 编写一个有关日期(年、月、日)和时间(时、分、秒)的程序。该程序建立三个类,其中一个是日期的类Date,一个是时间的类Time,另一个是日期和时间类TimeDate,它是前面两个类为基类的派生类。void main() TimeDate date1, date2(1998, 8, 12, 12, 45, 10); date1.SetDate(1998, 8, 7); date1.SetTime(10, 30, 45);coutThe date1 da

9、te and time is:;date1.GetDT();coutThe date1 date is:;date1.GetDate();coutThe date1 time is:;date1.GetTime();coutThe date2 date and time is:;date2.GetDT();#includeclass Date public:Date() Date(int y, int m, int d) SetDate(y, m, d); void SetDate(int y, int m, int d)Year = y;Month = m;Day = d; void Get

10、Date() coutYear/Month/Dayendl; protected: int Year, Month, Day; ; class Timepublic:Time() Time(int h, int m, int s) SetTime(h, m, s); void SetTime(int h, int m, int s)Hours = h;Minutes = m;Seconds = s;void GetTime()coutHours:Minutes:Secondsendl; protected: int Hours, Minutes, Seconds; ; class TimeDa

11、te:public Date, public Time public:TimeDate()TimeDate(int y, int mo, int d, int h, int mi, int s):Date(y, mo, d), Time(h, mi, s) void GetDT()coutYear/Month/Day_Hours:Minutes:Secondsendl; ; void main() TimeDate date1, date2(1998, 8, 12, 12, 45, 10); date1.SetDate(1998, 8, 7); date1.SetTime(10, 30, 45

12、);coutThe date1 date and time is:;date1.GetDT();coutThe date1 date is:;date1.GetDate();coutThe date1 time is:;date1.GetTime();coutThe date2 date and time is:;date2.GetDT();6. 生成一个Object抽象类,在其中声明double CalArea()为纯虚函数,从Object派生出:Rect类(其中包含成员变量Point topleft,Point bottomright。其中Point为其子对象)、Circle类(其中包含成

13、员变量Point cc,double radius ),实现如下功能void main()Object *obj2;obj0=new Rect(Point(0,0),Point(100,200);obj1=new Circle(Point(100,200),100.0);int i;for (i=0;i2;i+) coutthe area is calarea()endl;#include#include#define pi 3.1416class Point public:Point(int a,int b)x=a;y=b; int x; int y;class Object public:

14、virtual double calarea()=0;class Rect :public Object Point topleft;Point bottomright;public:Rect(Point p1,Point p2): topleft(p1),bottomright(p2) double calarea() return fabs(topleft.x-bottomright.x)* (topleft.y-bottomright.y);class Circle :public Object Point cc;double radius;public:Circle(Point p,double r):cc(p),radius(r) double calarea() return pi*radius*radius;void main()Object *obj2;obj0=new Rect(Point(0,0),Point(100,200);obj1=new Circle(Point(100,200),100.0);int i;for (i=0;i2;i+) coutthe area is calarea()endl;

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!