C程序設(shè)計課程設(shè)計報告-三角形的種類與面積_第1頁
C程序設(shè)計課程設(shè)計報告-三角形的種類與面積_第2頁
C程序設(shè)計課程設(shè)計報告-三角形的種類與面積_第3頁
C程序設(shè)計課程設(shè)計報告-三角形的種類與面積_第4頁
C程序設(shè)計課程設(shè)計報告-三角形的種類與面積_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、c+課程設(shè)計c+程序設(shè)計課程設(shè)計報告選題名稱: 三角形的種類與面積 系 別: 計算機科學(xué)技術(shù)系 專 業(yè): 軟件工程 班 級: 軟工一班 學(xué) 號: 指導(dǎo)老師: 學(xué)年學(xué)期: 2010 2011 學(xué)年 第 一 學(xué)期 2011 年 6 月 16 日 目 錄1課程設(shè)計目的32任務(wù)要求33設(shè)計方案34設(shè)計內(nèi)容44.1 層次(調(diào)用) 關(guān)系 44.2類圖54.3設(shè)計思想64.4調(diào)試過程64.5結(jié)果74.6程序代碼115總結(jié)176 參考文獻(xiàn)17三角形的種類與面積 17三角形的種類與面積1.課程設(shè)計目的面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計是計算機科學(xué)與技術(shù)專業(yè)和軟件工程專業(yè)集中實踐性環(huán)節(jié)之一,是學(xué)習(xí)完面向?qū)ο蟪绦蛟O(shè)計課程后進(jìn)

2、行的一次全面的綜合練習(xí)。其目的在于加深對面向?qū)ο蟪绦蛟O(shè)計中基礎(chǔ)理論和基本知識的理解,培養(yǎng)學(xué)生的實踐能力,促進(jìn)理論與實踐的結(jié)合。通過課程設(shè)計,讓學(xué)生能夠熟練運用c+進(jìn)行面向?qū)ο缶幊蹋ο竽P停档蛙浖膹?fù)雜性,改善軟件的重用性和維護(hù)性,提高軟件的生產(chǎn)效率,全面掌握面向?qū)ο缶幊碳夹g(shù)。通過課程設(shè)計,掌握使用一種面向?qū)ο蟪绦蛟O(shè)計語言開發(fā)工具如borland c+或visual c+等;培養(yǎng)調(diào)查研究、查閱技術(shù)文獻(xiàn)、資料、手冊以及編寫技術(shù)文獻(xiàn)的能力;通過課程設(shè)計,要求學(xué)生在指導(dǎo)教師的指導(dǎo)下,獨立完成實習(xí)課題的全部內(nèi)容,包括: 通過調(diào)查研究和上機實習(xí),收集和調(diào)查有關(guān)技術(shù)資料。 掌握設(shè)計課題的基本步驟和方

3、法。 根據(jù)課題的要求進(jìn)行上機實驗調(diào)試。2.任務(wù)要求 一、定義點(point)類,包含點的坐標(biāo)x和y;通過繼承點類派生出線段(line)類;通過線段(line)類的組合定義三角形(triangle )類。 二、實現(xiàn)功能 1、設(shè)計菜單實現(xiàn)功能選擇; 2、輸入三角形的三個頂點坐標(biāo); 3、判斷三角形的種類(一般三角形、等腰三角形、等邊三角形、直角三角形和不能構(gòu)成三角形); 4、計算并輸出三角形的面積 。3.設(shè)計方案本程序的設(shè)計思路如下流程圖: 開始輸入三角形的三個頂點輸入選擇選擇操作子程序 保存文件并結(jié)束4.設(shè)計內(nèi)容4.1層次(調(diào)用)關(guān)系計算出面積輸入選擇計算三角形的面積退出判斷出種類判斷三角形的種類

4、輸入選擇 輸入三角形的三個頂點4.2類設(shè)計圖:pointclass point /定義一個point類public: void intput(); /聲明一個輸入函數(shù) float get_x() return x; /返回x的值 float get_y() return y; /返回y的值private:float x,y; /定義對象x,y用來表示坐標(biāo);void point:intput() /定義輸入坐標(biāo)的函數(shù) cinxy; lineclass line:public point /派生類linepublic: void al_line(point& ,point& ,point&); /

5、聲明一個計算三條邊長度的函數(shù)float get_l1() return l1; /返回l1的值float get_l2() return l2; /返回l2的值float get_l3() return l3; /返回l3的值 private:float l1,l2,l3; /定義三條線段;void line:al_line(point& p1,point& p2,point& p3) /計算三條邊的長度 l1=sqrt(p2.get_x()-p1.get_x()*(p2.get_x()-p1.get_x()+ (p2.get_y()-p1.get_y()*(p2.get_y()-p1.get

6、_y(); l2=sqrt(p3.get_x()-p1.get_x()*(p3.get_x()-p1.get_x()+ (p3.get_y()-p1.get_y()*(p3.get_y()-p1.get_y(); l3=sqrt(p3.get_x()-p2.get_x()*(p3.get_x()-p2.get_x()+ (p3.get_y()-p2.get_y()*(p3.get_y()-p2.get_y();triangleclass triangle :public line /派生類trianglepublic:void jud_tri(line& ); /聲明一個判斷三角形的種類函數(shù)

7、void alg_tri(line& ); /聲明一個計算并輸出三角形的面積函數(shù) private:float p,s; /定義s計算面積,p為中間變量;【基本要求】1、 將點、線、面分別定義成類point、line、triangle。2、 每個類中的私有成員變量需通過get的方法獲取值或設(shè)置值。3、 設(shè)計程序入口main()使用各類中的方法管理數(shù)據(jù)和信息。4.3 先設(shè)計各類的方法,最后設(shè)計main函數(shù)讓其正常工作。4.4 調(diào)試:通過調(diào)試找到一種能正常判斷和計算三角形的方法。成功通過編譯。4.5 結(jié)果:用戶界面輸入數(shù)據(jù)判斷所輸入的數(shù)據(jù)不能構(gòu)成三角形,重新輸入或選擇退出程序退出重新輸入并判斷計算面

8、積程序運行完畢,退出4.6程序源代源#include#include#includeusing namespace std;class point /定義一個point類public: void intput(); /聲明一個輸入函數(shù) float get_x() return x; /返回x的值 float get_y() return y; /返回y的值private:float x,y; /定義對象x,y用來表示坐標(biāo);void point:intput() /定義輸入坐標(biāo)的函數(shù) cinxy; class line:public point /派生類linepublic: void al_l

9、ine(point& ,point& ,point&); /聲明一個計算三條邊長度的函數(shù)float get_l1() return l1; /返回l1的值float get_l2() return l2; /返回l2的值float get_l3() return l3; /返回l3的值 private:float l1,l2,l3; /定義三條線段;void line:al_line(point& p1,point& p2,point& p3) /計算三條邊的長度 l1=sqrt(p2.get_x()-p1.get_x()*(p2.get_x()-p1.get_x()+ (p2.get_y()

10、-p1.get_y()*(p2.get_y()-p1.get_y(); l2=sqrt(p3.get_x()-p1.get_x()*(p3.get_x()-p1.get_x()+ (p3.get_y()-p1.get_y()*(p3.get_y()-p1.get_y(); l3=sqrt(p3.get_x()-p2.get_x()*(p3.get_x()-p2.get_x()+ (p3.get_y()-p2.get_y()*(p3.get_y()-p2.get_y();class triangle :public line /派生類trianglepublic:void jud_tri(lin

11、e& ); /聲明一個判斷三角形的種類函數(shù) void alg_tri(line& ); /聲明一個計算并輸出三角形的面積函數(shù) private:float p,s; /定義s計算面積,p為中間變量;void triangle:jud_tri(line& l) /利用計算好的三邊判斷三角形的種類 if(l.get_l1()+l.get_l2()l.get_l3()&l.get_l1()+l.get_l3()l.get_l2()&l.get_l2()+l.get_l3()l.get_l1() if(l.get_l1()=l.get_l2()&l.get_l1()=l.get_l3() coutt e

12、ndl; coutt endl; coutt 所求三角形為等邊三角形 endl; coutt endl; coutt endl; else if(l.get_l2()=l.get_l3()|l.get_l1()=l.get_l2()| l.get_l2()=l.get_l3() coutt endl; coutt endl; coutt 所求三角形為等腰三角形 endl; coutt endl; coutt endl; else if(l.get_l2()*l.get_l2()+l.get_l3()*l.get_l3()= l.get_l1()*l.get_l1()|l.get_l1()*l.

13、get_l1()+ l.get_l3()*l.get_l3()=l.get_l2()*l.get_l2()| l.get_l1()*l.get_l1()+l.get_l2()*l.get_l2()= l.get_l3()*l.get_l3() coutt endl; coutt endl; coutt 所求三角形為直角三角形 endl; coutt endl; coutt endl; else coutt endl; coutt endl; coutt 所求三角形為一般三角形 endl; coutt endl; coutt endl; else coutendl; coutt endl; co

14、utt endl; coutt endl; coutt endl; coutt endl; coutt 所輸入的數(shù)據(jù)不能構(gòu)成三角形,無法計算面積 endl; coutt 請重新輸入三個頂點的坐標(biāo) endl; void triangle:alg_tri(line& l) / 利用工式計算三角形的面積 p=(l.get_l1()+l.get_l2()+l.get_l3()/2.0; s=sqrt(p*(p-l.get_l1()*(p-l.get_l2()*(p-l.get_l3(); coutendl; coutt endl; coutt endl; coutt 所求三角形為的面積為 endl;

15、coutt s endl;coutt endl; coutt endl; int main() int n; point p1,p2,p3; /定義三個子對象,用來輸入三個坐標(biāo)準(zhǔn) line l; triangle t; coutt endl; coutt endl; coutt endl; coutt 歡迎來到軟件工程c+課程設(shè)計三角形種類與面積 endl; coutt endl; coutt 軟工一班 學(xué)號:18號,19號,20號,21號,22號 endl; coutt 指導(dǎo)老師: 袁輝勇 endl; coutt endl; coutt endl; coutendl; couttt endl

16、; couttt endl; couttt 本程序有以下功能 endl; couttt 請參照下列說明選擇您要實現(xiàn)的功能 endl; couttt endl; couttt endl; coutttendl; coutttendl; couttt 1.輸入三角形的三個頂點坐標(biāo) endl; couttt 2.判斷三角形的種類 endl; couttt 3.計算并輸出三角形的面積 endl; couttt 4.退出程序 endl; coutttendl; coutttendl; couttn) /參照以上的功能,輸入一個要實現(xiàn)的功能 switch(n) /用switch實現(xiàn)菜單選擇功能 case

17、1:coutendl; /控制換行,美化界面,以下“coutendl;”的功能相同 couttt 請分別輸入三角形的三個頂點坐標(biāo) endl; coutendl; coutsetw(32)xsetw(4)yendl; cout請輸入頂點1的坐標(biāo)并以回車結(jié)束:; put(); /調(diào)用三次intput()函數(shù)輸入三角形三個頂點的坐標(biāo)(第一次) cout請輸入頂點2的坐標(biāo)并以回車結(jié)束:; put(); /調(diào)用三次intput()函數(shù)輸入三角形三個頂點的坐標(biāo)(第二次) cout請輸入頂點3的坐標(biāo)并以回車結(jié)束:; put(); /調(diào)用三次intput()函數(shù)輸入三角形三

18、個頂點的坐標(biāo)(第三次) l.al_line( p1, p2, p3 ); /調(diào)用al_line()函數(shù)計算三條邊的長度 coutendl; coutt 請參照以上功能繼續(xù)選擇您要實現(xiàn)的功能(14) endl; coutt 請在此處輸入并以回車結(jié)束:; break; case 2:t.jud_tri( l ); /調(diào)用jud_tri()函數(shù)判斷三角形的種類 coutendl; coutt 請參照以上功能繼續(xù)選擇您要實現(xiàn)的功能(14) endl; coutt 請在此處輸入并以回車結(jié)束:; break; case 3:t.alg_tri( l ); /調(diào)用alg_tri()函數(shù)計算并輸出三角形的面積 coutendl; coutt 請參照以上功能繼續(xù)選擇您要實現(xiàn)的功能(14) endl; coutt 請在此處輸入并以回車結(jié)束:; break; case 4:coutendl; cout感謝您的使用! =endl; couttttt endl; couttttt endl; couttttt endl;

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論