版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2022-5-2900楊楊 琦琦西安交通大學(xué)西安交通大學(xué)計(jì)算機(jī)教學(xué)實(shí)驗(yàn)中心計(jì)算機(jī)教學(xué)實(shí)驗(yàn)中心2012.102012.10第7章 習(xí)題計(jì)算機(jī)程序設(shè)計(jì)(計(jì)算機(jī)程序設(shè)計(jì)(C+)2022-5-291 1. 定義并實(shí)現(xiàn)定義并實(shí)現(xiàn)Dog類,包含類,包含name、age、sex、weight等屬性以及初始化和顯示屬性的方法,要求用一般等屬性以及初始化和顯示屬性的方法,要求用一般成員函數(shù)和構(gòu)造函數(shù)兩種方法實(shí)現(xiàn)初始化操作。成員函數(shù)和構(gòu)造函數(shù)兩種方法實(shí)現(xiàn)初始化操作。樣例輸入輸出樣例輸入輸出Ahuang 3 m 2.5Dogs name:AhuangDogs age:3Dogs sex:mDogs weight:2
2、.52022-5-292class Dogchar name20;intage;char sex;float weight;public:Dog(char *Name=a, int Age=0, char Sex=m, float Weight=0)strcpy(name,Name);age = Age;sex = Sex;weight = Weight;2022-5-293void Init()cinnameagesexweight;void ShowDog()coutDogs name:nameendl;coutDogs age:ageendl;coutDogs sex:sexendl;c
3、outDogs weight:weight=b)return 2*pi*b+4*(a-b);elsereturn 2*pi*a+4*(b-a);2022-5-297double Area()return (double)fabs(x1-x2)*(y1-y2)/4*pi;int main()int x1,y1,x2,y2;cin x1 y1 x2 y2;Ellipse e1(x1,y1,x2,y2);cout The area of e1: e1.Area() endl;cout The perimeter of e1: e1.Perimeter() endl;return 0;2022-5-2
4、983. 定義并實(shí)現(xiàn)三角形類,其成員變量包括三個(gè)邊長(zhǎng)定義并實(shí)現(xiàn)三角形類,其成員變量包括三個(gè)邊長(zhǎng)變量,成員函數(shù)包括判斷是否合法、計(jì)算面積,以變量,成員函數(shù)包括判斷是否合法、計(jì)算面積,以及是否構(gòu)成直角三角形、銳角三角形的鈍角三角形及是否構(gòu)成直角三角形、銳角三角形的鈍角三角形等函數(shù)。等函數(shù)。樣例輸入輸出樣例輸入輸出3 4 5直角三角形直角三角形2022-5-299class triangledouble f1,f2,f3;public:triangle(double a,double b,double c)f1=a;f2=b;f3=c;bool legal() if(f1f2+f3)&(f2f1+f
5、3)&(f3b)d=a;a=b;b=d;if(bc)d=b;b=c;c=d;if(a*a+b*b=c*c)return 0;/直角直角else if(a*a+b*babc;triangle tr1(a,b,c);if(tr1.legal() switch(tr1.type()case 0:cout直角三角形直角三角形endl;break;case 1:cout鈍角三角形鈍角三角形endl;break;case -1:cout銳角三角形銳角三角形endl;break;2022-5-2912elsecout不能構(gòu)成三角形不能構(gòu)成三角形endl;return 0;2022-5-2913 4. 定義并
6、實(shí)現(xiàn)地址類定義并實(shí)現(xiàn)地址類Address,包括姓名、所居住的,包括姓名、所居住的街道地址、城市和郵編等屬性以及改變對(duì)象姓名的街道地址、城市和郵編等屬性以及改變對(duì)象姓名的Changename函數(shù)、顯示地址信息的函數(shù)、顯示地址信息的Display函數(shù)。函數(shù)。樣例輸入輸出樣例輸入輸出張山張山 咸寧西路咸寧西路28號(hào)號(hào) 西安西安 710049張山張山 address:710049 西安西安 咸寧西路咸寧西路28號(hào)號(hào)李四李四李四李四 address:710049 西安西安 咸寧西路咸寧西路28號(hào)號(hào)2022-5-2914class Addresschar Name30;char StreetAddress
7、30;char City30;char Postcode30;public:Address(char *a,char *b,char *c,char *d)strcpy(Name,a);strcpy(StreetAddress,b);strcpy(City,c);strcpy(Postcode,d);2022-5-2915void Changename(char *a)strcpy(Name,a);void Display()coutName address:endl;coutPostcode City StreetAddressnamestreetaddresscitypostcode;Ad
8、dress x(name,streetaddress,city,postcode);x.Display();cinname;x.Changename(name);x.Display();return 0;2022-5-2917 5.定義并實(shí)現(xiàn)三維空間的定義并實(shí)現(xiàn)三維空間的Point3D類,包括類,包括x、y、z三三個(gè)成員變量,一個(gè)計(jì)算空間中兩個(gè)點(diǎn)之間的距離的個(gè)成員變量,一個(gè)計(jì)算空間中兩個(gè)點(diǎn)之間的距離的成員函數(shù),并編寫合適的構(gòu)造函數(shù)和析構(gòu)函數(shù)。成員函數(shù),并編寫合適的構(gòu)造函數(shù)和析構(gòu)函數(shù)。樣例輸入輸出樣例輸入輸出樣例輸入輸出樣例輸入輸出3 4 51 2 33.46412022-5-2918class
9、 Point3Ddouble x,y,z;public:Point3D(double _x,double _y,double _z)x=_x;y=_y;z=_z;Point3D()double Distance(Point3D &p)double a=p.x;double b=p.y;double c=p.z;return sqrt(x-a)*(x-a)+(y-b)*(y-b)+(z-c)*(z-c);2022-5-2919int main()double x,y,z,a,b,c;cinxyzabc;Point3D point1(x,y,z);Point3D point2(a,b,c);cou
10、tpoint1.Distance(point2)endl;return 0;2022-5-292020楊楊 琦琦西安交通大學(xué)西安交通大學(xué)計(jì)算機(jī)教學(xué)實(shí)驗(yàn)中心計(jì)算機(jī)教學(xué)實(shí)驗(yàn)中心2012.102012.10第8章 習(xí)題計(jì)算機(jī)程序設(shè)計(jì)(計(jì)算機(jī)程序設(shè)計(jì)(C+)2022-5-2921 1. 設(shè)計(jì)一個(gè)點(diǎn)類設(shè)計(jì)一個(gè)點(diǎn)類Point和其派生類彩色點(diǎn)類和其派生類彩色點(diǎn)類ColorPoint。樣例輸入輸出樣例輸入輸出1 1 3 4 5x,y=1,1r*256*256+g*256+b=1976372022-5-2922#include using namespace std;class Pointpublic:int
11、x, y; Point( int a= 0, int b= 0 )x=a;y=b;class ColorPoint : public Pointint r, g, b;2022-5-2923public:ColorPoint(int a,int bb,int c,int d,int e):Point(a,bb)r=c;g=d;b=e;void Print()coutx,y=x,yendl;coutr*256*256+g*256+b=r*256*256+g*256+babcde;ColorPoint x(a,b,c,d,e);x.Print();return 0;2022-5-2924 2. 設(shè)
12、計(jì)一個(gè)設(shè)計(jì)一個(gè)Person類和其派生類教師類和其派生類教師teacher,新增的,新增的屬性有專業(yè)、職稱和主講課程,并為這些屬性定義屬性有專業(yè)、職稱和主講課程,并為這些屬性定義相應(yīng)的方法。相應(yīng)的方法。樣例輸入輸出樣例輸入輸出11050632 Jack male 32 math prof mathapp身份證號(hào):身份證號(hào):11050632姓名:姓名:Jack性別:性別:male年齡:年齡:32專業(yè):專業(yè):math職稱:職稱:prof主講課程:主講課程:mathapp2022-5-2925class Personstring ID; /身份證號(hào)身份證號(hào)string Name; /姓名姓名strin
13、g Sex; /性別性別int Age; /年齡年齡public:Person(string id, string name, string sex, int age)ID= id;Name= name;Sex= sex;Age= age;2022-5-2926virtual void display()cout身份證號(hào):身份證號(hào):IDendl;cout姓名:姓名:Nameendl;cout性別:性別:Sexendl;cout年齡:年齡:Ageendl;2022-5-2927class teacher:public Personstring Major; /專業(yè)專業(yè)string Title;
14、/職稱職稱string Course; /主講課程主講課程public:teacher(string id, string name, string sex, int age, string major, string title, string course):Person(id,name,sex,age)Major=major;Title=title;Course=course;2022-5-2928virtual void display()Person:display();cout專業(yè):專業(yè):Majorendl;cout職稱:職稱:Titleendl;cout主講課程:主講課程:Cou
15、rseidnamesexagemajortitlecourse;teacher x(id,name,sex,age,major,title,course);x.display();return 0;2022-5-2930 3. 設(shè)計(jì)一個(gè)汽車類設(shè)計(jì)一個(gè)汽車類vehicle,包含的數(shù)據(jù)成員有車輪,包含的數(shù)據(jù)成員有車輪個(gè)數(shù)個(gè)數(shù)wheels和車重和車重weight。小車類。小車類car是它的私有子類是它的私有子類其中包含載人數(shù)其中包含載人數(shù)passenger_load??ㄜ囶???ㄜ囶恡ruck是是vehicle的私有子類其中包含載人數(shù)的私有子類其中包含載人數(shù)passenger_load和和載重量載重量
16、payload,每個(gè)類都有相關(guān)數(shù)據(jù)的輸出方法。,每個(gè)類都有相關(guān)數(shù)據(jù)的輸出方法。樣例輸入輸出樣例輸入輸出輸入小車參數(shù)輸入小車參數(shù)4 3.2 10車輪數(shù):車輪數(shù):4車重:車重:3.2載人數(shù):載人數(shù):10輸入卡車參數(shù)輸入卡車參數(shù)12 7.8 4 32.5車輪數(shù):車輪數(shù):12車重:車重:7.8載人數(shù):載人數(shù):4載重量:載重量:32.52022-5-2931class vehicledouble Wheels; /車輪數(shù)車輪數(shù)double Weight; /車重車重public:vehicle(double wheels, double weight) Wheels=wheels;Weight=weig
17、ht;virtual void Display()cout車輪數(shù):車輪數(shù):Wheelsendl;cout車重:車重:Weightendl;2022-5-2932class car:public vehicledouble Passenger_load; /載人數(shù)載人數(shù)public:car(double wheels, double weight, double passenger_load):vehicle(wheels,weight)Passenger_load=passenger_load;virtual void Display()vehicle:Display();cout載人數(shù):載人
18、數(shù):Passenger_loadendl;2022-5-2933class truck:public vehicledouble Passenger_load; /載人數(shù)載人數(shù)double Payload; /載重量載重量public:truck(double wheels, double weight, double passenger_load, double payload):vehicle(wheels,weight)Passenger_load=passenger_load;Payload=payload;virtual void Display()vehicle:Display()
19、;cout載人數(shù):載人數(shù):Passenger_loadendl;cout載重量:載重量:Payloadendl;2022-5-2934int main()double wheels1, weight1, passenger_load1;double wheels2, weight2, passenger_load2, payload;cout輸入小車參數(shù)輸入小車參數(shù)wheels1weight1passenger_load1;car c(wheels1, weight1, passenger_load1);c.Display();cout輸入卡車參數(shù)輸入卡車參數(shù)wheels2weight2pas
20、senger_load2payload;truck t(wheels2, weight2, passenger_load2, payload);t.Display();return 0;2022-5-2935 6設(shè)計(jì)一個(gè)橢圓類設(shè)計(jì)一個(gè)橢圓類Ellispe,其屬性為圓心坐標(biāo)及半,其屬性為圓心坐標(biāo)及半長(zhǎng)軸和半短軸的長(zhǎng)度,并用通過構(gòu)造函數(shù)對(duì)這些屬長(zhǎng)軸和半短軸的長(zhǎng)度,并用通過構(gòu)造函數(shù)對(duì)這些屬性初始化,通過成員函數(shù)計(jì)算橢圓的面積。性初始化,通過成員函數(shù)計(jì)算橢圓的面積。(取取3.1415926)樣例輸入輸出樣例輸入輸出2.5 6.3 5 20圓心坐標(biāo)為圓心坐標(biāo)為2.5 6.3面積為面積為314.15920
21、22-5-2936class Ellispedouble x, y; /圓心坐標(biāo)圓心坐標(biāo)double semi_major_axis; /半長(zhǎng)軸半長(zhǎng)軸double semi_minor_axis; /半短軸半短軸public:Ellispe(double X, double Y, double Semi_major_axis, double Semi_minor_axis)x=X;y=Y;semi_major_axis=Semi_major_axis;semi_minor_axis=Semi_minor_axis;2022-5-2937void Display()cout圓心坐標(biāo)為圓心坐標(biāo)為x
22、 yendl;cout面積為面積為area()xysemi_major_axissemi_minor_axis;Ellispe e(x, y, semi_major_axis, semi_minor_axis);e.Display();return 0;2022-5-293939楊楊 琦琦西安交通大學(xué)西安交通大學(xué)計(jì)算機(jī)教學(xué)實(shí)驗(yàn)中心計(jì)算機(jī)教學(xué)實(shí)驗(yàn)中心2012.102012.10第9章 習(xí)題計(jì)算機(jī)程序設(shè)計(jì)(計(jì)算機(jī)程序設(shè)計(jì)(C+)2022-5-2940 1. 定義一個(gè)哺乳動(dòng)物定義一個(gè)哺乳動(dòng)物Mammal類,再由此派生出狗類,再由此派生出狗Dog類,二者都定義類,二者都定義 Speak()成員函數(shù),基
23、類中定義為成員函數(shù),基類中定義為虛函數(shù),定義一個(gè)虛函數(shù),定義一個(gè)Dog類的對(duì)象,調(diào)用類的對(duì)象,調(diào)用Speak函數(shù),函數(shù),觀察運(yùn)行結(jié)果。觀察運(yùn)行結(jié)果。樣例輸入輸出樣例輸入輸出I am a mammal.I am a dog.2022-5-2941class Mammalpublic:virtual void Speak()coutI am a mammal.endl;class Dog:public Mammalpublic:virtual void Speak()coutI am a dog.Speak();p=&dog1;p-Speak();return 0;2022-5-2943 3設(shè)計(jì)一
24、個(gè)汽車類設(shè)計(jì)一個(gè)汽車類Motor,該類具有可載人數(shù)、輪,該類具有可載人數(shù)、輪胎數(shù)、馬力數(shù)、生產(chǎn)廠家和車主五個(gè)數(shù)據(jù)成員,根胎數(shù)、馬力數(shù)、生產(chǎn)廠家和車主五個(gè)數(shù)據(jù)成員,根據(jù)據(jù)Motor類派生出類派生出Car類、類、Bus類和類和Truck類。其中類。其中Bus類類除繼承基類的數(shù)據(jù)成員之外,還具有表示車廂節(jié)數(shù)除繼承基類的數(shù)據(jù)成員之外,還具有表示車廂節(jié)數(shù)的數(shù)據(jù)成員的數(shù)據(jù)成員Number;Truck類除繼承基類的數(shù)據(jù)成員類除繼承基類的數(shù)據(jù)成員之外,還具有表示載重量的數(shù)據(jù)成員之外,還具有表示載重量的數(shù)據(jù)成員Weight。每個(gè)類。每個(gè)類都有成員函數(shù)都有成員函數(shù)Display,用于輸出各類對(duì)象的相關(guān)信息。,用于
25、輸出各類對(duì)象的相關(guān)信息。在主函數(shù)中分別創(chuàng)建各類對(duì)象,并輸出各類對(duì)象的在主函數(shù)中分別創(chuàng)建各類對(duì)象,并輸出各類對(duì)象的信息。信息。2022-5-2944樣例輸入輸出樣例輸入輸出4 4 5 xjtu li(輸入)(輸入)I am a Carnumber_person:4number_tyre:4horsepower:5manufacturers:xjtuowner:li2(輸入)(輸入)I am a Busnumber_person:4number_tyre:4horsepower:5manufacturers:xjtuowner:linumber:25(輸入)(輸入)I am a Trucknumb
26、er_person:4number_tyre:4horsepower:5manufacturers:xjtuowner:liweight:52022-5-2945class Motorprotected: int number_person;int number_tyre;int horsepower;char manufacturers30;char owner30;public:Motor(int _number_person,int _number_tyre,int _horsepower,char *_manufacturers,char *_owner)number_person=_
27、number_person;number_tyre=_number_tyre;2022-5-2946horsepower=_horsepower;strcpy(manufacturers,_manufacturers);strcpy(owner,_owner);virtual void Display()coutnumber_person:number_personendl;coutnumber_tyre:number_tyreendl;couthorsepower:horsepowerendl;coutmanufacturers:manufacturersendl;coutowner:own
28、erendl;2022-5-2947class Car:public Motorpublic:Car(int _number_person,int _number_tyre,int _horsepower,char *_manufacturers,char *_owner):Motor(_number_person, _number_tyre, _horsepower,_manufacturers,_owner) void Display()coutI am a Carendl;Motor:Display();2022-5-2948class Bus:public Motorint numbe
29、r;public:Bus(int _number_person,int _number_tyre,int _horsepower,char *_manufacturers,char *_owner,int _number):Motor(_number_person, _number_tyre, _horsepower,_manufacturers,_owner) number=_number;void Display()coutI am a Busendl;Motor:Display();coutnumber:numberendl;2022-5-2949class Truck:public M
30、otorint weight;public:Truck(int _number_person,int _number_tyre,int _horsepower,char *_manufacturers,char *_owner,int _weight) :Motor(_number_person, _number_tyre, _horsepower,_manufacturers,_owner) weight=_weight;void Display()coutI am a Truckendl;Motor:Display();coutweight:weightnumber_personnumbe
31、r_tyrehorsepowermanufacturersowner;Car car(number_person,number_tyre,horsepower,manufacturers,owner);p=&car;p-Display();2022-5-2951cinnumber;Bus bus(number_person,number_tyre,horsepower,manufacturers,owner,number);p=&bus;p-Display();cinweight;Truck truck(number_person,number_tyre,horsepower,manufact
32、urers,owner,weight);p=&truck;p-Display();return 0;2022-5-2952 4定義一個(gè)定義一個(gè)Shape抽象類,在此基礎(chǔ)上派生出抽象類,在此基礎(chǔ)上派生出Square類、類、Rectangle類、類、Circle類和類和Trapezoid類,四個(gè)類,四個(gè)派生類都有成員函數(shù)派生類都有成員函數(shù)CaculateArea計(jì)算幾何圖形的面計(jì)算幾何圖形的面積,積,CaculatePerim計(jì)算幾何圖形的周長(zhǎng)。要求用基類計(jì)算幾何圖形的周長(zhǎng)。要求用基類指針數(shù)組,使它每一個(gè)元素指向一個(gè)派生類對(duì)象,指針數(shù)組,使它每一個(gè)元素指向一個(gè)派生類對(duì)象,計(jì)算并輸出各自圖形的面積和
33、周長(zhǎng)。計(jì)算并輸出各自圖形的面積和周長(zhǎng)。樣例輸入輸出樣例輸入輸出輸入:輸入:4.2 3.0 4.0 1.5 3.0 4.0 2.0輸出:輸出:I am a SquareArea:17.64Perim:16.8I am a RectangleArea:12Perim:14I am a CircleArea:7.06858Perim:9.42478I am a TrapezoidArea:7Perim:11.12312022-5-2953#include#includeusing namespace std;const double PI=3.1415926;class Shapepublic:virtual double CalculateArea()=0;virtual double CalculatePerim()=0;virtual void Display()coutArea:CalculateArea()endl;coutPerim:CalculatePerim()endl;2022-5-2954class Square:public Shapedouble ed
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 養(yǎng)老院老人健康監(jiān)測(cè)制度
- 2026年杭州市上城區(qū)望江街道社區(qū)衛(wèi)生服務(wù)中心編外招聘?jìng)淇碱}庫(kù)及答案詳解1套
- 囊謙縣人民醫(yī)院2025年面向社會(huì)公開招聘編外聘用工作人員的招聘?jìng)淇碱}庫(kù)及參考答案詳解一套
- 2026年泰州職業(yè)技術(shù)學(xué)院“銀發(fā)教師”長(zhǎng)期招募備考題庫(kù)及答案詳解1套
- 2026年鹽城經(jīng)濟(jì)技術(shù)開發(fā)區(qū)公開招聘基層醫(yī)療機(jī)構(gòu)專業(yè)技術(shù)人員6人備考題庫(kù)及答案詳解參考
- 2026年昭通市第三人民醫(yī)院總務(wù)科綜合崗位招聘?jìng)淇碱}庫(kù)及一套答案詳解
- 保密及知識(shí)產(chǎn)權(quán)保護(hù)制度
- 2026年重慶市北碚區(qū)東陽街道辦事處非在編人員招聘?jìng)淇碱}庫(kù)及完整答案詳解1套
- 2026年茅嶺鎮(zhèn)衛(wèi)生院招聘?jìng)淇碱}庫(kù)含答案詳解
- 2026年順德區(qū)杏壇鎮(zhèn)林文恩中學(xué)招聘化學(xué)、英語臨聘教師備考題庫(kù)有答案詳解
- 美術(shù)教師季度考核總結(jié)
- GB/T 4074.2-2024繞組線試驗(yàn)方法第2部分:尺寸測(cè)量
- 生物必修一-高中生物課件
- 小交通量農(nóng)村公路工程技術(shù)標(biāo)準(zhǔn)JTG 3311-2021
- 現(xiàn)代紡紗技術(shù)課件ppt 新型紡紗技術(shù)
- 環(huán)球雅思雅思封閉VIP保爭(zhēng)分人班協(xié)議合同書
- 中國(guó)傳統(tǒng)文化ppt
- 2023-2024學(xué)年江西省九江市小學(xué)語文五年級(jí)上冊(cè)期末深度自測(cè)預(yù)測(cè)題
- JJF 1129-2005尿液分析儀校準(zhǔn)規(guī)范
- 八年級(jí)數(shù)學(xué):菱形-菱形的性質(zhì)課件
- 人力資源統(tǒng)計(jì)學(xué)(第二版)新課件頁
評(píng)論
0/150
提交評(píng)論