c++課程設(shè)計匯本之幾何體的表面積和體積_第1頁
c++課程設(shè)計匯本之幾何體的表面積和體積_第2頁
c++課程設(shè)計匯本之幾何體的表面積和體積_第3頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課程設(shè)計報告課程設(shè)計題目:幾何體的外表積與體積學(xué)生:徐輝專業(yè):軟件工程電商班 級:1421812指導(dǎo)教師:振華學(xué)號: 2014201812092015 年 6 月 30 日3 / 22一、引言1二、設(shè)計目的與任務(wù)1三、設(shè)計方案2四、結(jié)論10五、致11一、弓I 言通過C+課程設(shè)計,使學(xué)生能將學(xué)到的面向?qū)ο蟮某绦蛟O(shè)計思想用 到具體的工作和學(xué)習(xí)中,加深對類與對象的理解,是將計算機課程 與實際問題相聯(lián)接的關(guān)鍵步驟。通過課程設(shè)計,能夠提高學(xué)生分析 問題、解決問題,從而運用所學(xué)知識解決實際問題的能力,并培養(yǎng) 根本的、良好的程序設(shè)計技能,因而必須給予足夠的重視。二、設(shè)計目的與任務(wù)定義一個抽象類形狀shape

2、,包含輸入根本圖形的信息函數(shù)input()、顯示根本圖形信息函數(shù) disp()、計算外表積的函數(shù)area()、計算體積的函數(shù)volume(),它們均為純虛函數(shù)。通過繼承形狀類派 生出球體類、正方體類、長方體類、圓柱體類。程序需實現(xiàn)以下功能:1、設(shè)計菜單實現(xiàn)定義一個抽象類形狀shape,包含輸入根本圖形的信息函功能選擇;2、輸入各種形狀信息;3、顯示各種形狀信息;4、計算各種形狀的外表積;5、計算各種形狀的體積;6、輸入數(shù)據(jù)和輸出結(jié)果用文件的形式實現(xiàn)。三、設(shè)計方案1、總體設(shè)計該程序主要是在確定物體的形狀后,計算物體的外表積和體積,在 輸入數(shù)據(jù)和輸出結(jié)果時用文件的形式,所以這個程序主要用到的容 是

3、類的繼承與派生,另外還涉及文件、指針等容。程序首先建立一 個抽象類shape,作為公共接口;然后建立四個圖形類: Ball、Cube Cubiod、Cylinder,公有繼承shape類,分別計算各物體的外表積和體積;然后在主函數(shù)中定義各對象,調(diào)用各類中的成員函數(shù),輸出所要結(jié)果。2、詳細設(shè)計In put:數(shù)據(jù)輸入函數(shù),輸入所需的半徑、邊長、高等 數(shù)據(jù);Area:計算各物體外表積的函數(shù);Volume:計算各物體體積的函數(shù);Disp:輸出計算結(jié)果的函數(shù);Run:定義指針,調(diào)用抽象類里的每個接口即調(diào)用每個函數(shù);Mai nMenu():調(diào)用各函數(shù),輸出結(jié)果。3、程序清單 #in clude<io

4、stream>using n amespace std;const double Pl=3.14;class shapepublic:virtual void in put()=O;virtual void disp()=0;virtual double area()=0;virtual double volume()=0; ;class ball:public shapeprivate:int r;public:ball(double r=O):r(r)void in put()coutvv"輸入球體的半徑:"<<endl;cin>>r;do

5、uble area()return 4*PI*r*r;double volume()return 4/3*PI*r*r*r;void disp() coutvv"球體的半徑:"vvrvvendl;coutvv"球體的面積:"vvarea()vvendl;coutvv"球體的體積:"vvvolume()vvendl;;class square:public shapeprivate:int x;public:square(double x=0):x(x)void in put()coutvv"輸入正方體的邊長"<

6、;<endl;cin> >x;double area()return 6*x*x;double volume()return x*x*x;void disp()coutvv"正方體的邊長:"vvxvvendl;coutvv"正方體的面積:"vvarea()vvendl;coutvv"正方體的體積:"vvvolume()vvendl;class cuboid:public shapeprivate:int l,w,h;public:cuboid(double l=0,double w=0,double h=O):l(l

7、),w(w),h(h)void in put()coutvv"輸入長方體的長寬高"<<endl;cin>>l >>w>>h;double area()return 2*(l*w)+2*(w*h)+2*(l*h);double volume()return l*w*h;void disp()coutvv"長方體的長寬高是:"vvlvvwvvhvvendl;coutvv"長方體的面積是:"vvarea()vvendl;coutvv"長方體的體積是:"vvvolume()v

8、vendl;;class cyli nder:public shapeprivate:int r,h;public:cyli nder(double r=0,double h=0):r(r),h(h)8 / 22void inpuo宀couAA->Hmsa回>®M二Acendrcinvvrvvm doub-e aea()宀 recln 2* 衛(wèi)*h+衛(wèi)* doub-e vo-ume()宀 recln衛(wèi)八 void disp()宀couAA.aWHSM-AArAAhAAendr couAdHms回5S -Acareaoccendr couAdHmsss _AAVO-ume(

9、Acendr9 - 22;void use_ball()ball b;b.i nput();b.disp();return ;void use_square()square s;s.i nput(); s.disp(); return ;void use_cuboid() cuboid c;c.i nput();c.disp();return;void use_cyli nder() cyli nder cy;cy.i nput();cy.disp();return;void menu() int i;21 / 22cout<<"*幾何體的外表積與體積*n"&#

10、171;e ndl;coutvvH*(0):退出系統(tǒng)*n"<<e ndl;coutvvH*(1):球體*n"v<en dl;coutvvH*(2):正方體*n"vven dl;coutvvH*:長方體*n"vven dl;coutvvH*:圓柱體*n"vven dl;coutvvH*感使用本軟件*n"vven dl;coutvv"請輸入你的選擇項0-4"vvendl;cin> >i;if(iv0|i>4)coutvv"錯誤,請輸入指定數(shù)字!"vve ndl;e

11、lseswitch(i)case 0: exit(O);break;case 1: use_ball();break;case 2: use_square( );break;case 3: use_cuboid( );break;case 4: use_cyli nder( );break; return; void mai n()int n;domenu();cin>>n;while( n!=0);4、程序調(diào)試與體會在程序的編寫過程中遇到很多麻煩,像如何調(diào)用成員函數(shù),如何用 文件的形式輸入數(shù)據(jù)和輸出結(jié)果但最后我們都解決了,這讓我 們很有成就感,很自豪,也讓我們知道了團結(jié)的力量。程

12、序完成后 調(diào)試沒錯誤,但卻無常運行,通過我的反復(fù)思考,程序中的錯誤得 到順利解決,讓它正常運行,函數(shù)功能也得到了進一步的完善。并且在本次課程設(shè)計的過程中,讓我進一步認識到了團隊的力 量,只有團結(jié)才能發(fā)揮出一個集體的力量。一個人的力量真的好有 限,即使個人能力再強,做一個大點的工程,也會力不從心。只有 分工協(xié)作才能將事辦得越快越好。通過這次課程設(shè)計,會為我們以 后進入社會提供一定的經(jīng)歷。我們相信在今后的學(xué)習(xí)真的我們會更加努力,積累經(jīng)歷。使自己在編程等各方面得到提高。這次程序設(shè)計讓我們受益匪淺!5、運行截圖主菜單4個具體工程:i ' E:C -+WtDebugV-eKeT° I

13、WM宙*冶*冷*詰*水戔宙水濡窗案(0):退出 系統(tǒng)#帝水*帝水*帝水*才:齊*壽#*.*« . J i-a bb . J fcji bb . J >ia bb «.uj aa b.*j aj I |、 fl"_ «r bAii ihJ Br Bja !Ba>r 片古a l.a ilu aa ar ttJgt Br sAu *a d. c-Tj i«1, J f . j-JjAi .牛>6礙|»7嚀檔七|0尬<71*7>丐1方"1'6<7|<'171<1尬中&#

14、39;方*京倉常曲*冶*京*戔*京*官(2):正方(本乂常窗宜京京宕常京宜常京宜*當(dāng)宜啟京宕 京京*京*凈宜*京宜*(3):長方彳本K*京京*宣采*宜*:x*k: *竊*茅寧*穹* (4):圓柱f本百*宜字*寧宇*寧*:|:比*宜*宜 *當(dāng)*護*感謝便用本支亍f牛*尙*常*4;字*冑*4; 請輸入你的選擇項(0-43輸入長方體的長寬髙22 5 77 長方體的長寬高是:22577長方體的面積是:4378長方體的體積是:8470ITt-'£rC + 4- 'Debugl. exe1帰柚沁之*制c* 10):退出,系統(tǒng)乞煒NX*之之*之之蚱歸和c *#X*Tj:*宜*京字*

15、 : 1):球 f古*X*宜x*N* 字水斗X*學(xué)* f?) :方f才L*穿宜*學(xué)比字黑*水宜來*學(xué)*學(xué)* *宜蘭*需*宜* ;3):長方(尢*宜*比*宜*宜*宜* *斗舉*羋*堆*筍字* 14):圓柱f本*塔*塔*字*當(dāng)*水*帛寧*常* *常X*感謝使,用本軟|'牛*冷*尙*常* 請輸入你的選擇項(0-4)4輸入圓柱體的底面半徑和高5 6底宦半徑和高:56圓柱體的面積:26&9圓柱體的體積:471四、結(jié)論忙碌了一個多星期,在大家的共同努力下,我們總算將此程序 設(shè)計出來。盡管不是自己獨立完成,但仍然很快樂,因為在設(shè)計的 過程中,讓我了解到要設(shè)計一個大型程序,查找資料是至關(guān)重要

16、的,在他人的根底上,再根據(jù)自己所學(xué)進展修改與調(diào)試,最后設(shè)計 出自己想要的程序,這過程艱辛,但只要你持之以恒,成功指日可 待。另外平時扎實的根底也很關(guān)鍵,因為如果你平時學(xué)得就不怎么 樣,那么你面對這么一個比擬有難度的程序,你可能會望而卻步,看 他人的程序都是個難點,更別說讓你自己去設(shè)計。為了解決此。類問 題,最好就是多向同學(xué),教師請教,不要怕難為情。尤其是教師, 評他們多年的編寫程序的經(jīng)歷,要解決我們的問題,對他們來說只 是 small caseo在設(shè)計這個程序時,我們剛開場是根據(jù)教師給我們提供的資料,用 畫圖以及循環(huán)將框架設(shè)計出來,但是接下去便無從下手了,計算是 個關(guān)鍵和難點,我們也查了相應(yīng)的

17、資料,但是它上面用得是坐標(biāo)來 做的,所以為了方便設(shè)計程序,我們也改為坐標(biāo)來做的,這樣計算 問題解決了。接下去就是按鍵問題,我們的資料是用鼠標(biāo)做的,所 以關(guān)于按鍵這個函數(shù)就只能我們自己設(shè)計,還好手頭有類似的資 料,經(jīng)過自己的反復(fù)嘗試以及與與同學(xué)的討論,這也不難,最好還 是被我們搞定了。最后就是閃爍,這個設(shè)計的方法很死板,都一個 類型,就是算坐標(biāo)比擬煩瑣,要確定好它的位置,但是這些只要你 自己愿意去嘗試,問題都可以迎刃而解的。從這一個多星期的設(shè)計過程中,我看到了大家的拼搏與努力,也讓 我知道團隊精神得難能可貴,盡管一年下來大家不怎么有多大接 觸,但是彼此之間的友誼已經(jīng)在我們心里扎根生底,在遇到問題 時,我們會共同進退,每個人都很大方不會因為是通過自己艱辛勞 動設(shè)計出來的東西而不準(zhǔn)他人剽竊了??傊?,這次課程設(shè)計讓我受益良多,我會好好珍惜像這種難得的 時機。五、致這次的課程設(shè)計對我們來說是一次嘗試與挑戰(zhàn)的過程。在這 里,我們由衷地感幫助、支持和鼓勵我們完成課程設(shè)計的教師和一 起奮斗過的伙伴。首先我們要感學(xué)校給我們提供這樣一個一起學(xué)習(xí) 和研

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論