大连海事大学C语言与Windows程序设计道课后题答案Word文档格式.docx
- 文档编号:19012026
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:13
- 大小:17.06KB
大连海事大学C语言与Windows程序设计道课后题答案Word文档格式.docx
《大连海事大学C语言与Windows程序设计道课后题答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《大连海事大学C语言与Windows程序设计道课后题答案Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
=0&
&
num<
=10);
if(max>
=0)
Max=<
max<
endl<
Min=<
min<
else
Nodata!
;
}
1.
(2)编程序实现求和:
S=1-1/3+1/5-1/7+……+1/n。
要求:
n17
/1
值在程序运行时从键盘输入。
#include<
stdio.h>
inti,n,sign=1;
floatsum=0.0;
牰湩晴尨请输入n:
);
scanf(%d,&
n);
for(i=1;
i<
=n;
i+=2)
sum+=sign*(1.0/i);
sign=-sign;
printf(\
sum=%f\n,sum);
2.设计具有以下功能的程序:
从键盘输入10个整数,然后排序。
(要求:
利用函数调用实现并以数组作为函数的参数)
3.编写几何点(二维平面上)的类Point,包括位置属性(二维坐标x,y),
成员函数包括:
点的位置获取函数GetX()和GetY(),
17
/2
点的位置设置函数SetX()和SetY(),
点的位置移动函数MoveTo()
点的信息打印函数Display()。
voidmain(){Pointp(100,100);
p.Display();
p.MoveTo(200,200);
aftermoving…<
}
程序输出结果如下:
X:
100Y:
100X:
moving…after
Y:
200200
classPoint
private:
intX;
intY;
public:
Point(intX,intY)
this->
X=X;
Y=Y;
/3
Point()
X=0;
Y=0;
~Point(){}
intGetX()
returnthis->
X;
intGetY()
Y;
voidSetX(intX)
voidSetY(intY)
/4
voidMoveTo(intX,intY)
SetX(X);
SetY(Y);
voidDisplay()
X:
<
GetX()<
GetY()<
};
4.编写几何图形圆的类Circle,包括两个属性:
圆心(用上题O。
Point类实现)和半径R中的
成员函数包括:
()圆心位置获取函数GetO
()GetR半径获取函数
()半径位置设置函数SetR
()圆的位置移动函数MoveTo
()SetR圆的半径设置函数
()Display圆的信息打印函数
/5
Pointp2(200,200);
Circlec(p,100);
c.Display();
c.MoveTo(p2);
aftermoving<
c.SetR(200);
after
altering
r<
}程序输出结果如下:
Circle:
(100,100),100aftermovingCircle:
(200,200),100
afteralteringrCircle:
(200,200),200
/6
/7
/*voidDisplay()
*/
/////////////////////////
classCircle
PointO;
intR;
Circle(Point&
p,intR)
O.MoveTo(p.GetX(),p.GetY());
R=R;
/8
~Circle(){}
PointGetO()
O;
intGetR()
R;
voidMoveTo(Point&
p)
O.MoveTo(p.GetX(),p.GetY());
voidSetR(intR)
Circle:
(<
O.GetX()<
<
O.GetY()<
),<
R<
/9
Pointp(100,100);
Pointp2(200,200);
afteralteringr<
5.编写一个有关日期(年、月、日)和时间(时、分、秒)的程序。
该程序建立三个类,其中一个是日期的类Date,一个是时间的类Time,另一个是日期和时间类TimeDate,它是前面两个类为基类的派生类。
/10
voidmain()
TimeDatedate1,date2(1998,8,12,12,45,10);
date1.SetDate(1998,8,7);
date1.SetTime(10,30,45);
Thedate1dateandtimeis:
date1.GetDT();
Thedate1dateis:
date1.GetDate();
Thedate1timeis:
date1.GetTime();
Thedate2dateandtimeis:
date2.GetDT();
classDate
{
/11
Date(){}
Date(inty,intm,intd){SetDate(y,m,d);
}
voidSetDate(inty,intm,intd)
Year=y;
Month=m;
Day=d;
}
voidGetDate()
Year<
\/<
Month<
Day<
protected:
intYear,Month,Day;
classTime
Time(){}
Time(inth,intm,ints){SetTime(h,m,s);
voidSetTime(inth,intm,ints)
/12
Hours=h;
Minutes=m;
Seconds=s;
voidGetTime()
Hours<
:
Minutes<
Seconds<
intHours,Minutes,Seconds;
classTimeDate:
publicDate,publicTime
TimeDate(){}
TimeDate(inty,intmo,intd,inth,intmi,int
s):
Date(y,mo,d),Time(h,mi,s){}
voidGetDT()
_<
Minu17
/13
tes<
6.生成一个Object抽象类,在其中声明doubleCalArea()为纯虚函数,从Object派生出:
Rect类(其中包含成员变量Pointtopleft,Pointbottomright。
其中Point为其子对象)、
/14
Circle类(其中包含成员变量Pointcc,doubleradius),实现如下功能
void
main(){Object
*obj[2];
obj[0]=new
Rect(Point(0,0),Point(100,200));
obj[1]=new
Circle(Point(100,200),100.0);
inti;
for(i=0;
2;
i++)
{cout<
heareais<
obj[i]->
calarea()<
}}
math.h>
#definepi3.1416
classPoint{
Point(inta,intb)
x=a;
y=b;
intx;
inty;
classObject{
virtualdoublecalarea()=0;
/15
classRect:
publicObject{
Pointtopleft;
Pointbottomright;
Rect(Pointp1,Pointp2):
topleft(p1),bottomright(p2){}
doublecalarea(){
returnfabs((topleft.x-bottomright.x)*(topleft.y-bottomright.y));
classCircle:
Pointcc;
doubleradius;
Circle(Pointp,doubler):
cc(p),radius(r){}
returnpi*radius*radius;
/16
Object*obj[2];
obj[0]=newRect(Point(0,0),Point(100,200));
obj[1]=newCircle(Point(100,200),100.0);
for(i=0;
i++){
/17
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大连 海事 大学 语言 Windows 程序设计 课后 答案