C++幾何圖形面積周長(zhǎng)計(jì)算_第1頁(yè)
C++幾何圖形面積周長(zhǎng)計(jì)算_第2頁(yè)
C++幾何圖形面積周長(zhǎng)計(jì)算_第3頁(yè)
C++幾何圖形面積周長(zhǎng)計(jì)算_第4頁(yè)
C++幾何圖形面積周長(zhǎng)計(jì)算_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、福建工程學(xué)院計(jì)算機(jī)與信息科學(xué)系實(shí)驗(yàn)報(bào)告10-11學(xué)年第1學(xué)期任課老師:林志強(qiáng)、鄭積仕課程名稱面向?qū)ο笳n程設(shè)計(jì)班級(jí)計(jì)算機(jī)0802座號(hào)24姓名謝茂財(cái)實(shí)驗(yàn)題目圖形多態(tài)實(shí)驗(yàn)時(shí)間實(shí)驗(yàn)開(kāi)始日期:報(bào)告提交日期:實(shí)驗(yàn)?zāi)康?、要求編?xiě)一個(gè)程序,計(jì)算任給一個(gè)幾何形體的面積和周長(zhǎng)。幾何形體可以是矩形、三角型、圓形、扇型、梯形。要求:(1)由用戶通過(guò)鍵盤(pán)輸入要處理的幾何形體,每次輸入一個(gè)幾何形體。輸入規(guī)則是:程序輸出提示信息,請(qǐng)用戶選擇要處理的幾何形體的類型。如果輸入字母“E”,表示要退出程序的運(yùn)行,根據(jù)用戶選擇的幾何形體類型,輸出提示信息,請(qǐng)用戶輸入幾何形體的描述數(shù)據(jù)。例如圓形的中心點(diǎn)坐標(biāo)和半徑。要求在提示信息中說(shuō)明

2、輸入數(shù)據(jù)的格式。由程序根據(jù)規(guī)定的格式讀入數(shù)據(jù),如果輸入數(shù)據(jù)的格式不對(duì)、或錯(cuò)誤(例如把一個(gè)負(fù)數(shù)作為圓形的半徑輸入),要輸出提示信息請(qǐng)求用戶輸入正確的數(shù)據(jù)、并再次讀入。(2)在用戶輸入一個(gè)幾何形體后,程序輸出該幾何形體的面積和周長(zhǎng),要求在輸出中注明哪個(gè)數(shù)據(jù)是面積、哪個(gè)數(shù)據(jù)是周長(zhǎng)。然后回到上一步,繼續(xù)處理新的幾何形體,直到用戶選擇退出程序運(yùn)行為止。(3)在基類中加兩個(gè)虛函數(shù)setfromfile(),printtofile()分別用于文件讀寫(xiě),文件統(tǒng)一后綴".geo”,在輸入文件名時(shí)不必輸入。向文件輸出時(shí)注意在每個(gè)輸出后要輸出或'n',否則從文件輸入時(shí)會(huì)出錯(cuò)。從文件輸入時(shí),

3、只能屏幕輸出,輸出結(jié)果是按周長(zhǎng)大小排序的。而從鍵盤(pán)輸入時(shí)可以選擇是屏幕輸出還是文件輸出,但都是按面積大小排序的。實(shí)驗(yàn)設(shè)計(jì)內(nèi)容H,LH,LH,LH,LH,LPRINTTOFILELOADSORTOUTPUT記錄每次實(shí)驗(yàn)結(jié)果以及分析情況開(kāi)始界面:佳“MgFROnbpn*vwtrrripcwr入幾圖形世畀由<£<啜比矩形世界生三育型世界匚:圓形世界D:房型世界E桃形世界F二從文件輸出G二退出»>»»»»>»»»<««««««

4、;««««請(qǐng)逸若體要操作的國(guó)刃代號(hào):矩形:清選擇你要搦祚約圖形代虧:£清粉入毒坨的用拜學(xué)噌:,左上頂點(diǎn)T標(biāo):格式12)00在,寬二格式(23)a4面幟:,2周任U4請(qǐng)輸入你要保存的文件名!三角形:諳連挺你要操他的圍吊代號(hào):b'請(qǐng)輸人三串字的描述蚊據(jù):第一個(gè)坐標(biāo)::格式(12)00|第二個(gè)坐標(biāo)二格式(L2)10第三個(gè)坐標(biāo):格式(L2)01武秋二口.5周長(zhǎng):3,41421港輸人體要保存的女件名:圓:請(qǐng)選擇你要操作的圖形代號(hào):C請(qǐng)輸入圓形的描述數(shù)據(jù):坐標(biāo):格式(1£)00半窗3®g?:78.53g7周長(zhǎng):3L415g請(qǐng)前人

5、你要呆存的文件名!扇形:I請(qǐng)選擇你要操作的圖形代號(hào):d請(qǐng)輸入扇形的描述數(shù)據(jù);坐標(biāo):格式口2)00半役:4孤度;90面積:12.5664周長(zhǎng);2832清翰入你荽保存的文件名!梯形:請(qǐng)選擇你要操作的圖形代號(hào)廠苦常人喋二.的虧-f.蚊我左上坐標(biāo)::格式?;?。上邊:4下邊:5左邊:3右邊4高;3面積:工工5周長(zhǎng):15謔物入你要保存的文件名:文件輸出:請(qǐng)選擇你要操作的畫(huà)形代號(hào):f請(qǐng)輸入要顯示的文件名!aa輸出結(jié)果畤面積大小排序面積:周長(zhǎng):D.53.414210.&3,41421610121412.U.283213.5162&27431£.84Q578.a3973L4159總結(jié)以

6、及心得體會(huì)指導(dǎo)老師評(píng)閱意見(jiàn)指導(dǎo)老師:填寫(xiě)內(nèi)容時(shí),可把表格擴(kuò)大。實(shí)驗(yàn)的源程序代碼(要有注釋)附在表后。eo");floata,l;(reinterpret_cast<char*>(&a),sizeof(a);(reinterpret_cast<char*>(&l),sizeof(l);();cout<<a<<l;voidRec:printtofile()chars20;cout<<endl<<"請(qǐng)輸入你要保存的文件名!"<<endl;cin>>s;ofst

7、reamfile(s,ios_base:app|ios_base:binary);strcat(s,".geo");floata,l;a=Area();l=Girth();(reinterpret_cast<char*>(&a),sizeof(a);(reinterpret_cast<char*>(&l),sizeof(l);();)classTri:publicBaseeo");floata,l;(reinterpret_cast<char*>(&a),sizeof(a);(reinterpret_ca

8、st<char*>(&l),sizeof(l);();cout<<a<<l;)voidTri:printtofile()chars20;cout<<endl<<"請(qǐng)輸入你要保存的文件名!"<<endl;cin>>s;ofstreamfile(s,ios_base:app|ios_base:binary);strcat(s,".geo");floata,l;a=Area();l=Girth();(reinterpret_cast<char*>(&

9、a),sizeof(a);(reinterpret_cast<char*>(&l),sizeof(l);();classCir:Baseeo");floata,l;(reinterpret_cast<char*>(&a),sizeof(a);(reinterpret_cast<char*>(&l),sizeof(l);();cout<<a<<l;voidCir:printtofile()chars20;cout<<endl<<"請(qǐng)輸入你要保存的文件名!"&l

10、t;<endl;cin>>s;ofstreamfile(s,ios_base:app|ios_base:binary);strcat(s,".geo");floata,l;a=Area();l=Girth();(reinterpret_cast<char*>(&a),sizeof(a);(reinterpret_cast<char*>(&l),sizeof(l);();classScapublicBaseeo");floata,l;(reinterpret_cast<char*>(&a)

11、,sizeof(a);(reinterpret_cast<char*>(&l),sizeof(l);();cout<<a<<l;)voidSca:printtofile()(chars20;cout<<endl<<"請(qǐng)輸入你要保存的文件名!"<<endl;cin>>s;ofstreamfile(s,ios_base:app|ios_base:binary);strcat(s,".geo");floata,l;a=Area();l=Girth();(reinterp

12、ret_cast<char*>(&a),sizeof(a);(reinterpret_cast<char*>(&l),sizeof(l);();)classTraeo");floata,l;(reinterpret_cast<char*>(&a),sizeof(a);(reinterpret_cast<char*>(&l),sizeof(l);();cout<<a<<l;)voidTra:printtofile()(chars20;cout<<endl<<&

13、quot;請(qǐng)輸入你要保存的文件名!"<<endl;cin>>s;ofstreamfile(s,ios_base:app|ios_base:binary);strcat(s,".geo");floata,l;a=Area();l=Girth();(reinterpret_cast<char*>(&a),sizeof(a);(reinterpret_cast<char*>(&l),sizeof(l);();intPositivefloath,floatl)if(h>0&&l>0

14、)return1;elsethrow0;intPositive(floatr)if(r>0)return1;elsethrow0;voidRectangle()cout<<endl<<"請(qǐng)輸入矩形的描述數(shù)據(jù):"<<endl<<endl;floath,l,x,y;coutvvendlv<"左上頂點(diǎn)坐標(biāo):格式(12)"cin»x»y;coutv令ndlvY,長(zhǎng),寬:格式(23)"cin»h»l;try(Positive(hJ);Pointa(x,y)

15、;Recm(a,h,l);8""面積:"VV()VV“周長(zhǎng):"«();0;catch(int)(coutv<"輸入數(shù)據(jù)有誤,請(qǐng)重輸!”v<endl;)voidTriangle()(intx1,y1,x2,y2,x3,y3;coutv<endlv<"請(qǐng)輸入三角形的描述數(shù)據(jù):"v<endl;coutv<endlv<H第一個(gè)坐標(biāo)二格式(12)"cin»x1»y1;coutv<endlv<"第二個(gè)坐標(biāo)二格式(12)"ci

16、n»x2»y2;coutv<endlv<"第三個(gè)坐標(biāo)二格式(12)"cin»x3»y3;Pointa(x1,y1),b(x2,y2),c(x3,y3);Trit(a,b,c);8成<"面積:"vv()vv"周長(zhǎng):"«()«endl;0;)voidCircle()(intx1,y1,r;coutv<endlv<*'請(qǐng)輸入圓形的描述數(shù)據(jù)'vvendl;coutv<endlv<"坐標(biāo):格式(12)"cin

17、»x1»y1;coutv<endlv<"半徑:";cin»r;Pointa(x1,y1);Circ(a,r);8成<"面積:"vv()vv"周長(zhǎng):"«()«endl;0;)voidScall()(intx1,y1,r,b;coutv<endlv<"請(qǐng)輸入扇形的描述數(shù)據(jù):"vvendl;coutv<endlv<"坐標(biāo):格式(12)"cin»x1»y1;cout<<endl&l

18、t;<"半徑:"cin>>r;coutvvendy弧度:"cin>>b;Pointa(x1,y1);Scac(a,r,b);cout<<"面積:"<<()<<"周長(zhǎng):"<<()<<endl;();voidTrape()intx1,y1,l,r,l1,l2,h;cout<<endl<<"請(qǐng)輸入梯形的描述數(shù)據(jù):"<<endl;cout<<endl<<"

19、左上坐標(biāo)::格式(12)"cin>>x1>>y1;cout<<endl<<"上邊:"cin>>l1;cout<<endl<<"下邊:"cin>>l2;cout<<endl<<"左邊:"cin>>l;cout<<endl<<"右邊:"cin>>r;cout<<endl<<"高:"cin>>

20、;h;Pointa(x1,y1);Trat(a,l,r,l1,l2,h);cout<<"面積:"<<()<<"周長(zhǎng):"<<()<<endl;();)voidSortfloata,floatz,intcount)(for(inti=0;i<count-1;i+)for(intj=i;j<count;j+)(if(aj<ai)(floatt=ai;ai=aj;aj=t;floatm=zi;zi=zj;zj=m;)voidOutput(constfloata,constfloatz,

21、constintcount)(cout<<"面積:"<<"周長(zhǎng):"<<endl;for(inti=0;i<count;i+)cout<<ai<<""<<zi<<endl;)voidLoad()coutvv”請(qǐng)輸入要顯示的文件名!"«endl;chars20;inti=0;floata100,z100;cin»s;ifstreamfile(s);(0);intcount=0;while(file)(count+;(re

22、interpret_cast<char*>(&ai),sizeof(ai);(reinterpret_cast<char*>(&zi),sizeoi(zi);i+;)Sort(a,z,count-1);coutv<"輸出結(jié)果按面積大小排序"«endl;Output(a,z,count-1);)voidMenu()(while(1)(cout«endl«">>>>>>>>>歡迎進(jìn)入幾何圖形世界vvvvvvvvvv2vendlv<endl;cout«"IA:矩形世界I"«endl;cout«"|B:三角型世界I"«endl;cout«"|C:圓形世界I"«endl;cout«"|D

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論