大连海事大学C语言与Windows程序设计道课后题答案Word文档格式.docx
- 文档编号:20238615
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:12
- 大小:17.91KB
大连海事大学C语言与Windows程序设计道课后题答案Word文档格式.docx
《大连海事大学C语言与Windows程序设计道课后题答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《大连海事大学C语言与Windows程序设计道课后题答案Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
min)min=a;
num++;
}while(a>
=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。
要求:
n值在程序运行时从键盘输入。
#include<
stdio.h>
inti,n,sign=1;
floatsum=0.0;
printf("
请输入n:
);
scanf("
%d"
&
n);
for(i=1;
i<
=n;
i+=2)
sum+=sign*(1.0/i);
sign=-sign;
\nsum=%f\n"
sum);
2.设计具有以下功能的程序:
从键盘输入10个整数,然后排序。
(要求:
利用函数调用实现并以数组作为函数的参数)
3.编写几何点(二维平面上)的类Point,包括位置属性(二维坐标x,y),
成员函数包括:
点的位置获取函数GetX()和GetY(),
点的位置设置函数SetX()和SetY(),
点的位置移动函数MoveTo()
点的信息打印函数Display()。
voidmain() { Pointp(100,100);
p.Display();
p.MoveTo(200,200);
aftermoving…"
}
程序输出结果如下:
X:
100 Y:
100 aftermoving… X:
200 Y:
200
classPoint
private:
intX;
intY;
public:
Point(intX,intY)
this->
X=X;
Y=Y;
Point()
X=0;
Y=0;
~Point(){}
intGetX()
returnthis->
X;
intGetY()
Y;
voidSetX(intX)
voidSetY(intY)
voidMoveTo(intX,intY)
SetX(X);
SetY(Y);
voidDisplay()
X:
"
GetX()<
Y:
GetY()<
};
4.编写几何图形圆的类Circle,包括两个属性:
圆心O(用上题中的Point类实现)和半径R。
圆心位置获取函数GetO()
半径获取函数GetR()
半径位置设置函数SetR()
圆的位置移动函数MoveTo()
圆的半径设置函数SetR()
圆的信息打印函数Display()
Pointp2(200,200);
Circlec(p,100);
c.Display();
c.MoveTo(p2);
aftermoving"
c.SetR(200);
afteralteringr"
} 程序输出结果如下:
Circle:
(100,100),100 aftermoving Circle:
(200,200),100 afteralteringr Circle:
(200,200),200
/*voidDisplay()
*/
/////////////////////////
classCircle
PointO;
intR;
Circle(Point&
p,intR)
O.MoveTo(p.GetX(),p.GetY());
R=R;
~Circle(){}
PointGetO()
O;
intGetR()
R;
voidMoveTo(Point&
p)
O.MoveTo(p.GetX(),p.GetY());
voidSetR(intR)
Circle:
("
O.GetX()<
"
O.GetY()<
),"
R<
Pointp(100,100);
Pointp2(200,200);
Circlec(p,100);
5.编写一个有关日期(年、月、日)和时间(时、分、秒)的程序。
该程序建立三个类,其中一个是日期的类Date,一个是时间的类Time,另一个是日期和时间类TimeDate,它是前面两个类为基类的派生类。
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
{
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)
Hours=h;
Minutes=m;
Seconds=s;
voidGetTime()
Hours<
:
Minutes<
Seconds<
intHours,Minutes,Seconds;
classTimeDate:
publicDate,publicTime
TimeDate(){}
TimeDate(inty,intmo,intd,inth,intmi,ints):
Date(y,mo,d),Time(h,mi,s){}
voidGetDT()
_"
6.生成一个Object抽象类,在其中声明doubleCalArea()为纯虚函数,从Object派生出:
Rect类(其中包含成员变量Pointtopleft,Pointbottomright。
其中Point为其子对象)、
Circle类(其中包含成员变量Pointcc,doubleradius),实现如下功能
voidmain() { Object*obj[2];
obj[0]=newRect(Point(0,0),Point(100,200));
obj[1]=newCircle(Point(100,200),100.0);
inti;
for(i=0;
2;
i++){cout<
theareais"
obj[i]->
calarea()<
} }
math.h>
#definepi3.1416
classPoint{
Point(inta,intb)
x=a;
y=b;
intx;
inty;
classObject{
virtualdoublecalarea()=0;
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;
Object*obj[2];
for(i=0;
i++){
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大连 海事 大学 语言 Windows 程序设计 课后 答案