还剩16页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
一l.Cpp猜价格游戏编写C++程序完成以下功能假定有一件商品,程序用随机数指定该商品的价格1・100的整数提示用户猜价格,并输入若用户猜的价格比商品价格高或低,对用户作出相应的提示,直到猜对为止,并给出提示#includeiostream#includecstdlib#includectimeusingnamespacestd;mainintprice;srandtime0;price=rand*1000+l;//L—之句的商兀兹coutnpleaseinputapricef«endl;intguesscount»0;whilecount==0cin»guess;ifguessprice人?一号关
三、一二cout«ntheguessedpriceislowerthantherealpricen«endl;elseifguessprice遑人的比真实的价格高cout«*theguessedprice13higherthantherealprice«endl;elseifguess=price{_.cout«0ongratulatior3!youveguessedtherightprice.M«endl;count=l;}}systempatse;return0;二l.cpp矩形编写C++程序完成以下功能
(1)定义一个Point类,其属性包括点的坐标,提供计算两点之间距离的方法;
(2)定义一个矩形类,其属性包括左上角和右下角两个点,提供计算面积的方法;创建一个矩形对象,提示用户输入矩形左上角和右下角的坐标;观察矩形对象以及Point类成员的构造函数与析构函数的调用;
(5)计算其面积,并输出//--我是华鼐丽淌通离线一下面是类了叫〜〜一MatrixpAllinesrowspA2linesrowspA3linesrows;cout«”谢入pH的能导元素”endl;pAl.InArray;cout«n输•入内2的tE荐•元素”endl;pA
2.InArray;couc”还注相:口后”endl;AddArraypAlpA2pA3linesrows;couc«n运淬想减n«endl;MinusArraypAlpA2pA3linesrows;systemnpa^sen;return0;四l.cpp形状一编写C++程序完成以下功能1声明一个基类Shape形状,其中包含一个方法来计算面积;从Shape派生两个类矩形和圆形;从矩形派生正方形;4分别实现派生类构造函数、析构函数和其他方法;5创建派生类的对象,观察构造函数、析构函数调用次序;6不同对象计算面积#mcludeioscreamusingnamespacestd;classShape//至public:Shape{-Shape0floatGetAreareturn-1;};classCircle:publicShapeJW二二二{public:Circlefloatr{radius=r;coucCirc]的啊造函数被词二endl;}〜Circlecout«”Ci工clc的析为函数被词月«endl;floatGetArea{return
3.14*radius*radius;}private:floatradius;;classRectangle:publicShape三三-/~public:Rectanglefloatlenrfloatwid{length=len;widch=wid;cout«RectangleESSi=«endl;}-Rectangle0coux-ccangie的后构4数被谡目«endl;}floatGetArea{returnlength*width;}floatGetLen{returnlength;}floatGetWidO{returnwidth;}private:classSquare:publicRectangle三二angle源生出的类Squarepublic:Squarefloatlength;-Square{coul«”5qua::e的标丁句函双核谖乓n«endl;//private;//floatlength;;Square::Squarefloatlength:Rectanglelengthlength{coueWS,—的构造函数被调二n«endl;intmainfloatradiuslenwid;couc”I衣次缅入三个数”endl;cin»radius»len»wid;Circlecradius;Rectanglerlenwid;Squareslen;couc”依次爱上圆形、走形、正方形的面积”endl;cout«c.GetArea«endl;cout«r.GetArea«endl;cout«s.GetArea«endl;systempauser;return0;四2(l).cpp形状
(二)一一虚函数将【形状
(一)】中的基类计算面积的方法定义为虚函数,比较与【形状(-)]程序的差异;将【形状
(一)】中的基类定义抽象类,比较与【形状
(一)】程序的差异#includeiostreainusingnamespacestd;classShape三支S;:apepublic:Shape{}-Shape{virtualfloatGetArea{return-1;};classCircle:publicShape-三亍二public:Circlefloatr{radius=r;couc«”C二rcle的构造函数被调二n«endl;}〜Circle{couc«Cme的析构函数被调弓n«endl;}floatGetArea{return
3.14*radius*radius;}private:floatradius;;classRectangle:publicShape{public:Rectanglefloatlenfloatwid{length=len;widch=wid;couc”Reccar:gie的沟造函数核调弓M«endl;〜Rectangle{couc”RectangNe的析构函数被调乏M«endl;virtualfloatGetArea{returnlength*width;}virtualfloatGetLen{returnlength;}virtualfloatGetWid{returnwidth;}private:floatlengthwidth;;classSquare:publicRectangle三公二w二「‘三壬二二三三二〜一public:Squarefloatlength;〜Square{couc«”Sqkare的析构因数被请弓n«endl;};Square::Squarefloatlength:RectanglelengthlengthcoucvUSq^a二e的构造函数被调与n«endl;intmainfloatradiuslenzwid;cout«”依次垃人三个数”endl;cin»rad±us»len»wid;Circlecradius;Rectanglerlenwid;Squareslen;couc”依次茂史•图形、运形、正方形的面积”endl;cout«c.GetArea«endl;cout«r.GetArea«endl;cout«s.GetArea«endl;systemMpausen;return0;四
22.cpptincludeiosrrearcusingnamespacestd;classShape/三天public:Shape{}-Shape{}virtualfloatGetArea=0;};classCircleipublicShape/«亍土尸一三三public:Circlefloatr{radius-r;coutWCircie的构造函数被调~M«endl;^Circle0口七”叱工二工金的二啊因数被调Wn«endl;}floatGetArea{return
3.14*radius*radius;}private:floatradius;;classRectangle:virtualpublicShape二二二专三;public:Rectanglefloatlenzfloatwid{length=len;width=wid;couc«”Reccar:g1e的构造函双被调片H«endl;}-Rectangle{coutReccangIe的后呵函数被词片n«endl;floatGetArea{returnlength*w±dth;}floatGetLen{returnlength;}floatGetWid{returnwidth;}private:classSquare:virtualpublic口094//ctangle海生出的类Square[poblic:Squarefloatlength;〜Square{cout”Square的析啕函数被谓二n«endl;}//private://floatlength;;Square::Squarefloatlength:Rectanglelengthlengthcouc«”Sqc”c的啊造因数被词片n«endl;intmainfloatradiuslenwid;cout«”依次骊:入三个数“endl;cin»radius»len»wid;Circlecradius;Rectanglerlenwid;Squareslen;coucvv1依次就上圆形、矩形、正方形的面积”endl.;cout«c.GetArea«endl;coutr.GetAreaendl;cout«s.GetArea«endl;syscemnpausen;return0;四
3.cpp对Point类重载++和运算符编写C++程序完成以下功能Point类的属性包括点的坐标xy;实现Poini类重载++和一一运算符•++p--pp++p-o++和分别表示xy增加或减少1#±ncludexoscxeamusingnamespacescd;classPointpublic:Poinroperator++;丁]M.运算疔x--Pointoperator++int;三三-三;蓄Pointsoperator——;Pointoperator——int;PointintXintY{x=X;y=Y;}intX{returnx;}intY{returny;}private:intxy;};PointPoint::operator++X+4-;y++;return*this;//龙/^}PointPoint::operator++intPointtemp=*this;++*this;returntemp;PointPoint::operator——x-;y——;return*this;3亘关士员PointPoint::operator-intPointtemp=*this;——*this;returntemp;}intmainintxy;couc”互入商数yendl;cin»x»y;PointAxy;cout«HABtj值为«A.X«Mr«A.Y«endl;A++;couc«MA--后江的值为H«A.X«»«A.Y«endl;++A;cout«”一A后A的值为n«A.X«W«A.¥«endl;A——;cout«”A--后A的值为M«A.X«Mn«A.Y«endl;-A;couc«”--A后A的值为H«A.X«HrH«A.Y«endl;systempause“;return0;}六l.cpp流式IO一编写C++程序完成以下功能1使用ofsiream向一个文本文件中输出各种类型的数据,并打开文件观察结果整数、无符号整型、长整型、浮点型、字符串、……2用十进制、八进制、十六进制方式向文本文件中输出整数;3使用控制符和成员函数来控制输出的格式setprecision...#includefstream#includeicstreain#xncludexomanxpusingnamespacescd;structData{inta;unsignedintb;longintc;floatd;chare
[4];;main{Datadata;cout编入三个整数,一个浮点数,一个字苛率3«endl;cxn»data.a»data.b»data.c»data.d»dara.e;ofstreammyFilehomeworktxtios::out;广三二泠.rayFile«data.a«M«data.b«daca.c«data.d«MM«data.e«endl;rnyFile«dec«data.a«endl;——三-三myFile«oct«data.a«endl;//苦三rayFilehex«data.a«endl;十六•三也myFile«setprecision3«data.d«endl;///不se二关上]上喝葆为3myFile.close;systempause;return0;六
3.cpp流式IO三编写C++程序完成以下功能1输入一个文本文件名;打开文件名,在该文件的每一行前面加上一个行号,保存在另外一个文本文件中#includefstreamtincludeiostreain#xncludecstdlibusingnamespacestd;//textl.txtmain4charline
[100];int1=0;ofscreamtFileltext.
12.txtMios::out;ifstreamtFile2ntexcl.ios::in;whiletFile
2.geclineline100\ni++;tFilel«i«n.n«line«endl;tFilel.close;tFile
2.close;coucvv”请圣克程序后,打开文件直看结果eryendl«ecd工;systemnpausen;return0;}七l.cpp电话本编写C++程序完成以下功能1实现简单电话本功能,用姓名来搜索电话号码;2用户输入姓名,程序查找并输出结果;用户可以通过输入,添加姓名和电话号码;4用户可以删除姓名和电话号码;5电话本可以保存在指定文件中;6电话可被从指定文件中读入到内存#includeio3tream#includef3tream#includeiomamp#includestringusingnamespacestd;classBookprivate:stringname;七小stringcel;//三百public:Book{;Bookstringnstringtnarce=n;tel=t;~Book{;stringGetnair;e{returnname;}stringGettel{returntel;}voidread;//符叔岸卖人的存voidadd;“浮不安差人voidsearch;与费^^
4.voidmodify;/密云4V.芭voiddel;/三方..奏乂};Bookbook
[200];一WNBoo”妄声葭壬年》三息intsum=0;voidBook::read三I—三ifstreaminfile电话主.cxcios::in;/打三文2if!infliecout«endlV”对不起口没有找至匚文件!!!!“«endl;systempausen;return;whileinfile»name»tel{bookfsuin]=3ooknair.etel;sum++;}infile.close;intlocal2stringa/亘戏冢友人匚三stringb;inti;fori=0;isum;i++b=book[i].Getname;ifa==bbreak;returni;voidBook::search巨-丁五毛八不二-二二三Vint±jc;stringa;couc”簟入嫉名以查ifexvendl;cin»a;j=local2a;ifj=sumcout该联系人不存在Vendl;elsecout«book[j].tel«endl;voidBook::add/{stringa;stringb;8111《”独入联系人嫂名cin»a;couc《〈”谢入联系人电话号码n«endl;cin»b;book[sum+l].tel=b;book[sum+1].name=a;ofstreamoucfile电话本・cxc”,ios::ouc;二三二二三」二工匚二outfile«book[sum+l].name«book[sum+1].tel;sum=sum+l;voidBook::del三汾二三系人intijc;stringa;couc钝入联系人姓名”;cin»a;j-local20;〃确定删除联系人所在位立ifj=sumcouc该联系人K存在“endl;elsecout确定
2.取消\口”;cout«n\t\tn;cin»c;ifc=l{fori=j;isum-l;i++bookfi]=book[i+l];sum―;cout«删一成功”《end1;voidsave/他•尹系人/导学入工件ofsrreamoucfile「电号点.txtios::out;,疗二二I.二三;亍三一二inti;fori=j;isum;1+-*■outfile«book[i].Getname«\t«booc[i].Gettel«n\t«endl;intmamintchoice;cout«endl;cout«\t\tikr★★★★★★★★★★★★★★★★★★★★★★★★★«endlcin»choice;Bookb;类的对於b.readO;./或信息:卖如内存Iincludeiosrream^includecmarhusingnamespacestd;classPointpublic:Pointfloatxfloatythis-X=x;Y=y;floatlengthPointa.Pointb--宣〒二二returnsqrta.X-b.X*a.X-b.X+a.Y-b.Y*a.Y-b.Y;floatGetX{returnX;};floatGetY{returnY;};〜Poinc{}//”标区或private:floatXY;;classJuXing/三干二public:JuXingPointxplfPointxp2/或-合三为,二造三二二:plxplrp2xp2couc«”观察矩形对象以及Point类成员的构造函数与析构的数的调用”《endl;floatArea/:曰0持力反£floatx=floatp
2.GetX-pl.GetX;floaty»floatpl.GetY-p
2.GecY;floatarea=x*y;returnarea;〜JuXing{〃/为三教private:Pointplp2;floatarea;;intmain{couc”请输入矩形左上角和右下角的坐标floatxlrylx2ry2;cin»xl»yl»x2»y2;Pointmyplxlrylrmyp2\;//构造函数进行初始化JuXingjmyplmyp2;//构造函数初始化cout«j.Area«endl;couc”两点间距离systemnpausen;return0;}whilechoice-lchoice=3switchchoice{case1//青衣b.search;break;case2:b.add;cout«\t\t^~Z成功!n«endl;break;case3:〃三年b.del;break;default:break;}cin»choice;save;//疹砥导二六二内存cout«”谢谢使尾!再见”end1;syscemnpausen;return0;二
3.cpp友元编写C++程序完成以下功能定义一个Boat和Car两个类,他们都具有私用属性一一重量;编写一个函数,计算两者的重量和doubleTotalWeightBoatbCarc;#includeiostreamusingnamespacestd;classCar;classBoat//^Boatpublic:Boatdoublew//构造函数{this-weight=w;frienddoubleTotalWeightBoatCar/友元区数private:doubleweight;;classCarpublic:Cardoublew//构造函数《this-weight=w;}frienddoubleTotalWeightBoatbCar/友元歪数private:doubleweight;;doubleTotalWeightBoatbCarc{doubletotal=doubleb.weight+c.weight;returntotal;}intmain{cout«”输出重量end1;doublewlw2;cin»wl»w2;//^A了两个重呈Boat//月构造座数迸行初始.化Carcw2;//向上cout«TotalWeightbc«endl;systempause;return0;三l.cpp编写C++程序完成以下功能假定矩阵大小为4X5(整型数组表示);定义矩阵初始化函数,可以从cin中输入矩阵元素;定义矩阵输出函数,将矩阵格式化输出到cout;
(4)定义矩阵相加的函数,实现两个矩阵相加的功能,结果保存在另一个矩阵中;
(5)定义矩阵相减的函数,实现两个矩阵相减的功能,结果保存在另一个矩阵中;定义三个矩阵Al、A
2、A3;初始化Al、A2计算并输出A3=A1力口A2A3=A1减A2#includeiostreamusingnamespacestd;voidInArray(intAim、//矩方初始化函数{for(inti=0;i4;i++){for(intj-0;j5;j++){cin»A[i][j];voidOutArrayint〃矩阵输出函数{forinti=0;i4;i++{forintj=0;j5;j++{cout«A[i][j]«nn;cout«endl;voidAddArrayintAl
[4]
[5]zintA2
[4]
[5]二“王咤二七运£{intA3
[4]
[5];forinti=0;i4;i++《forintj=0;j5;j++A3[i][j]-Al[i][j]+A2[i][j];OutArrayA3;voidMinusArrayintAl
[4]
[5]intA2
[4]
[5]当三百二士,三交{intA3
[4]
[5];forinti=0;i4;i++{forintj=0;j5;j++A3[i][j]-Al[i][j]-A2[i][j];OurArrayA3;intmain()(intAl
[4]
[5]A2
[4]
[5]rA3
[4]
[5];00111«”谕入4*5的第一人能译InArray(Al);季始化矩注couc与,入4*5的第二人连斗endl;InArray(A2);匚々—cout«MA3=Al*A2«endl;AddArray(A1A2);cout«wA3=Al-A2n«endl;MinusArray(AlA2);system(pause);return0;)三
2.cpp矩阵
(二)编写C++程序完成以下功能假定矩阵大小为4X5(整型);矩阵空间采用new动态申请,保存在指针中;
(3)定义矩阵初始化函数,可以从cin中输入矩阵元素;
(4)定义矩阵输出函数,将矩阵格式化输出到cout;
(5)定义矩阵相加的函数,实现两个矩阵相加的功能结果保存在另•个矩阵中;
(6)定义矩阵相减的函数,实现两个矩阵相减的功能,结果保存在另一个矩阵中;动态申请三个矩阵Al、A
2、A3;初始化Al、A2#includeioscreainusingnamespacesrd;voidInArrayint*p/专—修法求forinti=0;i4;i++{forintj=0;j5;j++cin»p[1-1*5+j];}voidOutArrayint-p二三二三三一三室二forint1=0;i4;1++forintj-0;j5;j++cout«p[1-1*5+j]«wM;cout«endl;}voidAddArrayint*plint*p2占三至二药.int*p3;p3=newint[4*5];forinti=0;i4;i++{forintj=0;j5;j++P3[i-l*5+j]-pl[i-l*5+j]+p2[i-l*5+j];OutArrayp3;voidMinusArrayint*plint*p2二三,1A二_三发int*p3;p3»newint[4*5];forinti=0;i4;i++{forintj=0;j5;j++p3[1-1*5+j]-pl[1-1*5+j]-p2[i-l*5+j];|OutArrayp3;deletep3;mainintAl
[4]
[5]rA2
[4]
[5]rA3
[4]
[5];int*plz*p2;//申请动态空间pl=newint[4*5];p2=newint[4*5];“初始化2A2_cout«劫入A1二0j能详元素M«endl;InArray(pl);cout«造z,vA2的违/注元素”endl;InArray(p2);cout«谕出・坦茸•相二口后的A3=endl;AddArray(plp2);couc«”输一走洋想;咸片9-jA3n«endl;MinusArray(plp2);//释放矩阵空间deletepl;deletep2;system(pauseM);return0;)三
3.cpp矩阵
(三)编写C++程序完成以下功能
(1)用类来实现矩阵,定义一个矩阵的类,属性包括矩阵大小,用linesrows(行、列来表示);存贮矩阵的数组指针,根据矩阵大小动态申请(new)矩阵类的方法包括构造函数,参数是矩阵大小,需要动态申请存贮矩阵的数组;析构函数,需要释放矩阵的数组指针;拷贝构造函数,需要申请和复制数组;输入,可以从cin中输入矩阵元素;输出,将矩阵格式化输出到coin;矩阵相加的函数,实现两个矩阵相加的功能,结果保存在另一个矩阵类,但必须矩阵大小相同;矩阵相减的函数,实现两个矩阵相减的功能,结果保存在另一个矩阵类,但必须矩阵大小相同定义三个矩阵Al、A
2、A3;初始化Al、A2;计算并输出A3=A1力口A2A3=AI减A2;用new动态创建三个矩阵类的对象pAl、pAl、pA3;初始化pAl、pA2;计算并输出pA3=pAl加pA2pA3=pAl减pA2释放pAl、pAl、pA3o♦includeiostreamusingnamespacescd;public:Matrixint1intr;~Matrix{delete[]p;}r*\/7MatrixMatrixm;一二voidInArrayO;voidOucArray;friendvoidAddArrayMatrixmlMatrixm2Matrixm3intlinesintrows;〃矩阵相加存储进另一个矩阵类中friendvoidMinusArrayMatrixmlMacrixm2Matrixm3intlinesintrows;//矩阵想减存储进另一个矩阵类里private:intlines/rows;int*p;);Matrix::Matrixint1intr;gW不{lines=l;rows=r;p=newint[lines*rows];}voidMatrix::InArrayforint1=0;Klines;i++forint3=0;jrows;j++cin»p[i-1*rows+j];|voidMatrix::OutArray三二二:二forint1=0;Kimes;i++forint3=0;jrows;j++cout«p[i-1*rows+j]1•}cout«endl;voidAddArrayMatrixmlzMatrixm2rMatrixni3rintlinesintrowsforinti=0;ilines;i++{forintj=0;jrows;j++{m
3.p[i-1*rows+j]=ml.p[i-1*rows+j]+m
2.p[1-1*rows+j];cout«m
3.pi-l*rows+j]«Mn;cout«endl;voidMinusArrayMatrixmlMatrixm2Matrixm3zintlinesintrows.三三垣「forinti=0;Klines;i++forintj=0;jrows;j++{rt
3.p[x-1*rows+j]=ml.pi-1*rows+j]-m
2.p[i-l*rows+j];cout«m
3.p[i-1*rows+j]«ncout«endl;intmainintlinesrows;coucv埒入行、列数endl;cin»lines»rows;//只是矩阵的运算没有涉及类舸〜〜一intAl[lines][rows]A2[lines][rows]A3[lines][rows];couc编入A•二的转注元素forinti=0;Klxnes;i++forintj»0;jrows;j++{cin»Al[i][j];}couc”三尤入A2的走耳元素forint1=0;Klines;i++forintj=Q;jrows;j++{cin»A2
[1][j];cout«HAl和A2的和M«endl;forint1=0;Klxnes;x++forintj=0;jrows;j++A3[i]j]=Ali][j]+A2i][j];cout«A3[i][j]«M}cout«endl;cout«nAifOA2Bj^n«endl;forint1=0;Klines;1++forintj=0;jrows;j++《A3[i][j]=Al[i][j]-A2[i][j];coutA3[i][j]**n;cout«endl;。
个人认证
优秀文档
获得点赞 0