面向对象程序设计与实践报告书1.docx
- 文档编号:7511328
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:60
- 大小:27.18KB
面向对象程序设计与实践报告书1.docx
《面向对象程序设计与实践报告书1.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计与实践报告书1.docx(60页珍藏版)》请在冰豆网上搜索。
面向对象程序设计与实践报告书1
北京邮电大学
计算机学院
面向对象程序设计与实践
(1)
实验报告书
网工14班
谌星宇
2016年9月5日
1、猜价格游戏
编写C++程序完成以下功能:
(1)假定有一件商品,程序用随机数指定该商品的价格(1-1000的整数);
(2)提示用户猜价格,并输入:
若用户猜的价格比商品价格高或低,对用户作出相应的提示;
(3)直到猜对为止,并给出提示。
代码:
#include
#include
#include
#include
intmain()
{
usingnamespacestd;
intOldprice,price;
srand(time(NULL));
Oldprice=rand();
Oldprice=Oldprice%1000;
price=Oldprice+1;
cout<<"Pleaceinputtheprice!
"< while(price! =Oldprice) { cin>>price; cin.get(); if(price==Oldprice) { cout<<"Yougettherightprice! "; break; } if(price>Oldprice) { cout<<"HIGH"< } if(price { cout<<"LOW"< } } return0; 1、矩形 编写C++程序完成以下功能: (1)定义一个Point类,其属性包括点的坐标,提供计算两点之间距离的方法; (2)定义一个矩形类,其属性包括左上角和右下角两个点,提供计算面积的方法; (3)创建一个矩形对象,提示用户输入矩形左上角和右下角的坐标; (4)观察矩形对象以及Point类成员的构造函数与析构函数的调用; (5)计算其面积,并输出。 (6) (7) (8) (9)#include (10)#include (11) (12)classPoint (13){ (14)private: (15)intx,y; (16)public: (17) (18)Point(intx,inty); (19)Point(Point&p); (20)Point(); (21) (22)doubleLengh(intx1,intx2,intx3,intx4); (23) (24)intgetx(Points) (25){ (26)returns.x; (27)} (28) (29)intgety(Points) (30){ (31)returns.y; (32)} (33) (34)}; (35) (36)Point: : Point(intX,intY) (37){ (38)x=X; (39)y=Y; (40)} (41)Point: : Point(Point&p) (42){ (43)x=p.x; (44)y=p.y; (45)} (46)Point: : Point() (47){ (48)x=0; (49)y=0; (50)} (51)doublePoint: : Lengh(intx1,intx2,intx3,intx4) (52){ (53)doubles; (54)s=(x1-x2)*(x1-x2)+(x3-x4)*(x3-x4); (55)s=sqrt(s); (56)returns; (57)} (58)classrectangle (59){ (60)private: (61)PointA,B; (62) (63)public: (64)rectangle(PointA,PointB); (65)doublearea(); (66)}; (67)rectangle: : rectangle(Pointa,Pointb) (68){ (69)A=a; (70)B=b; (71) (72)} (73)doublerectangle: : area() (74){ (75)doubleXS,YS; (76)XS=fabs(A.getx(A)-B.getx(B)); (77)YS=fabs(A.gety(A)-B.gety(B)); (78)returnXS*YS; (79) (80) (81)} (82)intmain() (83){ (84)usingnamespacestd; (85)doubles; (86)intx1,x2; (87)cout<<"Hi! Pleaseinputthetwopointoftherectangle.Icancalculatethearea! "< (88)cin.get(); (89)cout<<"TOPRIGHTpoint(x,y)"< (90)cout<<"x"< (91)cin>>x1; (92)cout<<"y"< (93)cin>>x2; (94)PointA(x1,x2); (95)cin.get(); (96)cout<<"DOWNLEFTpoint(x,y)"< (97)cout<<"x"< (98)cin>>x1; (99)cout<<"y"< (100)cin.get(); (101)cin>>x2; (102)PointB(x1,x2); (103)rectangleS1(A,B); (104)s=S1.area(); (105)cout<<"Theareais"< (106)system("pause"); (107)return0; (108)} 2、友元 编写C++程序完成以下功能: (1)定义一个Boat和Car两个类,他们都具有私用属性——重量; (2)编写一个函数,计算两者的重量和。 doubleTotalWeight(Boat&b,Car&c); #include #include classBoat { friendclassCar; private: floatweight; public: Boat(); Boat(floats); Boat(Boat&p); ~Boat(); }; Boat: : Boat() { weight=0; } Boat: : Boat(floats) { weight=s; } Boat: : Boat(Boat&p) { weight=p.weight; } Boat: : ~Boat() { weight=0; } classCar { private: floatweight; public: Car(); Car(floats); Car(Car&p); floatGetweight(Boat&A,Car&B); }; Car: : Car() { weight=0; } Car: : Car(floats) { weight=s; } Car: : Car(Car&p) { weight=p.weight; } floatCar: : Getweight(Boat&A,Car&B) { floatWEIGHT; WEIGHT=A.weight+B.weight; returnWEIGHT; } intmain() { usingnamespacestd; floatWEI; cout<<"PleaseinputtheweightofCarandBoat"< cin.get(); cout<<"Car"< cin>>WEI; CarB(WEI); cin.get(); cout<<"Boat"< cin>>WEI; BoatA(WEI); cin.get(); cout<<"Theweightis"< system("pause"); return0; } 1、矩阵 (一) 编写C++程序完成以下功能: (1)假定矩阵大小为4×5(整型数组表示); (2)定义矩阵初始化函数,可以从cin中输入矩阵元素; (3)定义矩阵输出函数,将矩阵格式化输出到cout; (4)定义矩阵相加的函数,实现两个矩阵相加的功能,结果保存在另一个矩阵中; (5)定义矩阵相减的函数,实现两个矩阵相减的功能,结果保存在另一个矩阵中; (6)定义三个矩阵: A1、A2、A3; (7)初始化A1、A2; (8)计算并输出: A3=A1加A2,A3=A1减A2。 #include #include usingnamespacestd; classMrt { private: intnum[4][5]; public: Mrt(); Mrt(int**); voidDisplayMry(Mrt); voidMrtadd(Mrta,Mrtb); voidMrtreduce(Mrta,Mrtb); voidinit(); }; Mrt: : Mrt() { inti,j; for(i=0;i<=3;i++) { for(j=0;j<=4;j++) { num[i][j]=0; } } } Mrt: : Mrt(int**p) { inti,j; for(i=0;i<=3;i++) { for(j=0;j<=4;j++) { num[i][j]=p[i][j]; } } } voidMrt: : Mrtadd(Mrta,Mrtb) { inti=0,j=0; intA,B; for(i=0;i<=3;i++) { for(j=0;j<=4;j++) { cout< } cout< } } voidMrt: : Mrtreduce(Mrta,Mrtb) { inti=0,j=0; for(i=0;i<=3;i++) { for(j=0;j<=4;j++) { cout< } cout< } } voidMrt: : DisplayMry(Mrta) { inti,j; for(i=0;i<=3;i++) { for(j=0;j<=4;j++) { std: : cout< } cout< } } voidMrt: : init() { cout<<"PleaseinputtheMrt"< inti,j; for(i=0;i<=3;i++) { for(j=0;j<=4;j++) { cout<<"a["< cin>>num[i][j]; } } } intmain() { cout<<"PleaseinputTheA1"< MrtA1; A1.init(); cout<<"PleaseinputTheA2"< MrtA2; A2.init(); cin.get(); A1.DisplayMry(A1); //cout< //A1.DisplayMry(A2); //cout< cout<<"A3is(add)"< A1.Mrtadd(A1,A2); cout< //A1.DisplayMry(A1); //cout< //A2.DisplayMry(A2); cout<<"A3is(reduce)"< A1.Mrtreduce(A1,A2); //A1.DisplayMry(A3); system("pause"); return0; } 2、矩阵 (二) 编写C++程序完成以下功能: (1)假定矩阵大小为4×5(整型); (2)矩阵空间采用new动态申请,保存在指针中; (3)定义矩阵初始化函数,可以从cin中输入矩阵元素; (4)定义矩阵输出函数,将矩阵格式化输出到cout; (5)定义矩阵相加的函数,实现两个矩阵相加的功能,结果保存在另一个矩阵中; (6)定义矩阵相减的函数,实现两个矩阵相减的功能,结果保存在另一个矩阵中; (7)动态申请三个矩阵: A1、A2、A3; (8)初始化A1、A2; (9)计算并输出A3=A1加A2,A3=A1减A2; (10)释放矩阵空间。 #include #include usingnamespacestd; classMrt { private: int**num; public: Mrt(); Mrt(int**); ~Mrt(); voidDisplayMry(Mrt); voidMrtadd(Mrt*a,Mrt*b); voidMrtreduce(Mrt*a,Mrt*b); voidinit(); }; Mrt: : Mrt() { inti,j; num=newint*[4]; for(i=0;i<=4;i++) { num[i]=newint[5]; } for(i=0;i<=3;i++) { for(j=0;j<=4;j++) { //cout<<"a["< num[i][j]=0; } } } Mrt: : Mrt(int**p) { inti,j; for(i=0;i<=3;i++) { for(j=0;j<=4;j++) { num[i][j]=p[i][j]; } } } Mrt: : ~Mrt() { for(inti=0;i<=3;i++) delete[]num[i]; delete[]num; } voidMrt: : Mrtadd(Mrt*a,Mrt*b) { inti=0,j=0; intA,B; for(i=0;i<=3;i++) { for(j=0;j<=4;j++) { cout< } cout< } } voidMrt: : Mrtreduce(Mrt*a,Mrt*b) { inti=0,j=0; for(i=0;i<=3;i++) { for(j=0;j<=4;j++) { cout< } cout< } } voidMrt: : DisplayMry(Mrta) { inti,j; for(i=0;i<=3;i++) { for(j=0;j<=4;j++) { std: : cout< } cout< } } int**WriteMrt() { inti,j; int**num; num=newint*[4]; for(i=0;i<=4;i++) num[i]=newint[5]; intNum; for(i=0;i<=3;i++) { for(j=0;j<=4;j++) { cout<<"a["< cin>>num[i][j]; } } returnnum; } voidMrt: : init() { cout<<"PleaseinputtheMrt"< inti,j; for(i=0;i<=3;i++) { for(j=0;j<=4;j++) { cout<<"a["< cin>>num[i][j]; } } } intmain() { Mrt*a1=newMrt; Mrt*a2=newMrt; Mrt*a3=newMrt; cout<<"PleaseinputTheA1"< a1->init(); cin.get(); cout<<"PleaseinputTheA2"< a2->init(); cin.get(); //A1.DisplayMry(A1); cout< //A1.DisplayMry(A2); cout< cout<<"A3is(add)"< a1->Mrtadd(a1,a2); cout< //A1.DisplayMry(A1); //cout< //A2.DisplayMry(A2); cout<<"A3is(reduce)"< a1->Mrtreduce(a1,a2); //A1.DisplayMry(A3); system("pause"); return0; } 3、矩阵(三) 编写C++程序完成以下功能: (1)用类来实现矩阵,定义一个矩阵的类,属性包括: ●矩阵大小,用lines,rows(行、列来表示); ●存贮矩阵的数组指针,根据矩阵大小动态申请(new)。 (2)矩阵类的方法包括: ●构造函数,参数是矩阵大小,需要动态申请存贮矩阵的数组; ●析构函数,需要释放矩阵的数组指针; ●拷贝构造函数,需要申请和复制数组; ●输入,可以从cin中输入矩阵元素; ●输出,将矩阵格式化输出到cout; ●矩阵相加的函数,实现两个矩阵相加的功能,结果保存在另一个矩阵类,但必须矩阵大小相同; ●矩阵相减的函数,实现两个矩阵相减的功能,结果保存在另一个矩阵类,但必须矩阵大小相同。 (3)定义三个矩阵: A1、A2、A3; (4)初始化A1、A2; (5)计算并输出A3=A1加A2,A3=A1减A2; (6)用new动态创建三个矩阵类的对象: pA1、pA1、pA3; (7)初始化pA1、pA2; (8)计算并输出pA3=pA1加pA2,pA3=pA1减pA2; (9)释放pA1、pA1、pA3。 #include #include
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 实践 报告书
![提示](https://static.bdocx.com/images/bang_tan.gif)