C++課程設(shè)計(jì)-簡(jiǎn)單圖形處理系統(tǒng)_第1頁(yè)
C++課程設(shè)計(jì)-簡(jiǎn)單圖形處理系統(tǒng)_第2頁(yè)
C++課程設(shè)計(jì)-簡(jiǎn)單圖形處理系統(tǒng)_第3頁(yè)
C++課程設(shè)計(jì)-簡(jiǎn)單圖形處理系統(tǒng)_第4頁(yè)
C++課程設(shè)計(jì)-簡(jiǎn)單圖形處理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、簡(jiǎn)單圖形處理系統(tǒng)程序設(shè)計(jì)基礎(chǔ)課程設(shè)計(jì)報(bào)告專 業(yè): 電子信息工程 班 級(jí): 2007級(jí) 2 班 學(xué) 號(hào): 2007082051 姓 名: 楊 淼 軍 指導(dǎo)教師: 常 耀 輝 2008年6月28日目 錄 TOC o 1-3 h z u HYPERLINK l _Toc176896227 1.課程設(shè)計(jì)目的 PAGEREF _Toc176896227 h 3 HYPERLINK l _Toc176896228 2.課程設(shè)計(jì)題目描述和要求 PAGEREF _Toc176896228 h 3 HYPERLINK l _Toc176896229 2.1課程題目 PAGEREF _Toc176896229 h

2、 3 HYPERLINK l _Toc176896230 2.2課程要求 PAGEREF _Toc176896230 h 3 HYPERLINK l _Toc176896231 3.課程設(shè)計(jì)報(bào)告內(nèi)容 PAGEREF _Toc176896231 h 3 HYPERLINK l _Toc176896237 3.2 運(yùn)行結(jié)果 PAGEREF _Toc176896237 h 11 HYPERLINK l _Toc176896238 4. 課程設(shè)計(jì)總結(jié) PAGEREF _Toc176896238 h 12 HYPERLINK l _Toc176896239 5.參考書目 PAGEREF _Toc1768

3、96239 h 121.課程設(shè)計(jì)目的開拓思維,檢查和鞏固所學(xué)的知識(shí),為以后的學(xué)習(xí)和編程打下基礎(chǔ)。2.課程設(shè)計(jì)題目描述和要求2.1課程題目簡(jiǎn)單圖形處理系統(tǒng)2.2課程要求設(shè)某個(gè)圖形處理程序只考慮點(diǎn)、直線、圓三種基本圖形。對(duì)于點(diǎn),給出點(diǎn)的橫縱坐標(biāo);對(duì)于直線,給出直線方程ax+by+c0的三個(gè)系數(shù)a,b,c;對(duì)于圓,給出圓心坐標(biāo)和半徑。(為敘述性文字,告訴我題目要求做些什么)試說明圖形的幾何形狀類型,并編寫輸入和輸出圖形數(shù)據(jù)、求兩點(diǎn)距離、求兩直線交點(diǎn)、 已知點(diǎn)和半徑形成圓、已知兩點(diǎn)形成直線等函數(shù)。(后面這些為具體的要求)3.課程設(shè)計(jì)報(bào)告內(nèi)容#include#include#includeusing n

4、amespace std;class point public: friend void point_count(point *p);/聲明為友員函數(shù),便于引用類的私有數(shù)據(jù) friend void build_line(point *p); void set_value() /作用:輸入點(diǎn)的坐標(biāo)cout請(qǐng)輸入點(diǎn)的坐標(biāo)xy;void show() /作用:輸出點(diǎn)的坐標(biāo)cout點(diǎn)的坐標(biāo)是:(x,y)endl;private:float x,y;void point_count(point *p) /作用:計(jì)算兩點(diǎn)間的距離cout兩點(diǎn)間的距離為:endl;coutsqrt(*p).x-(*(p+1)

5、.x)*(*p).x-(*(p+1).x)+(*p).y-(*(p+1).y)*(*p).y-(*(p+1).y)endl;void build_line(point *p) /作用:用兩點(diǎn)構(gòu)造直線cout兩個(gè)點(diǎn)的坐標(biāo)為:(*p).x,(*p).y),(*(p+1).x,(*(p+1).y)endl;cout參數(shù):a=(*p).y-(*(p+1).y,b=(*(p+1).x-(*p).x,c=(*(p+1).y*(*p).x-(*p).y*(*(p+1).xendl;cout直線方程是:(*p).y-(*(p+1).yx+(*(p+1).x-(*p).xy+(*(p+1).y*(*p).x-(

6、*p).y*(*(p+1).x=0endl;class linepublic:friend void line_count(line *p);/聲明為友員函數(shù)void set_value() /作用:輸入直線的三個(gè)參數(shù)cout請(qǐng)輸入直線的三個(gè)參數(shù)abc;void show() /作用:輸出直線的方程if(a=1&b!=1)cout直線的方程為:x+by+c=0endl;else if(a!=1&b=1)cout直線的方程為:ax+y+c=0endl;else if(a=1&b=1)cout直線的方程為:x+y+c=0endl;else cout直線的方程為:ax+by+c=0endl;priv

7、ate:float a,b,c;void line_count(line *p) /作用:計(jì)算兩直線的交點(diǎn)if(*p).a/(*(p+1).a=(*p).b/(*(p+1).b)cout兩直線平行,沒有交點(diǎn)endl;else cout兩直線的交點(diǎn)是:endl; cout(*p).b*(*(p+1).c-(*p).c*(*(p+1).b)/(*p).b*(*(p+1).a-(*p).a*(*(p+1).b),(*p).a*(*(p+1).c-(*p).c*(*(p+1).a)/(*p).a*(*(p+1).b-(*p).b*(*(p+1).a)endl;class circlepublic:vo

8、id set_value() /作用:輸入圓心坐標(biāo)和半徑cout請(qǐng)輸入圓的坐標(biāo)和半徑xyr;void show() /作用:輸出圓的圓心坐標(biāo)、半徑和方程(構(gòu)造圓)cout圓心坐標(biāo):(x,y),半徑:rendl;if(x=0&y=0)cout圓的方程:xx+yy=r*rendl; else if(x=0&y!=0)cout圓的方程:xx+(y-y)(y-y)=r*rendl; else if(y=0&x!=0)cout圓的方程:(x-x)(x-x)+yy=r*rendl; else cout圓的方程:(x-x)(x-x)+(y-y)(y-y)=r*rendl;private:float x,y,

9、r;int main()point poi2;line lin2;circle cir;int i;string choose; /choose 選擇是否繼續(xù)輸入string typ; /typ:圖形的形狀 / while(1)無限循環(huán),讓用戶自己選擇for(;)cout請(qǐng)輸入圖形類型typ; /出現(xiàn)過:cin : ambiguous(不明確的,多定義的) symbolcout圖形為:typendl;/處理點(diǎn)的問題if(typ=point)for(i=0;i+) /注意要讓程序跳出poii.set_value();cout是否繼續(xù)輸入點(diǎn)的坐標(biāo)?choose;if(choose=no)break

10、;if(i=0)poi0.show();else if(i=1)for(i=0;i2;i+)poii.show();point_count(poi);build_line(poi);else break;/處理直線的問題else if(typ=line)for(i=0;i+)lini.set_value(); cout是否繼續(xù)輸入直線的參數(shù)?choose;if(choose=no)break;/只有選擇了不輸入時(shí),才能跳出if(i=0)lin0.show();else if(i=1)for(i=0;i2;i+)lini.show(); line_count(lin);/處理圓的問題else i

11、f(typ=circle)cir.set_value();cir.show();/處理其他圖形的問題else cout圖形不在指定的范圍內(nèi)endl;cout是否繼續(xù)輸入圖形的類型?choose; if(choose=no)break; /同樣只有選擇了不輸入時(shí),才能跳出return 0;3.2 運(yùn)行結(jié)果 4. 課程設(shè)計(jì)總結(jié)終于,激動(dòng)人心的期末考試如期而至,從未感受過的課程設(shè)計(jì)就在眼前,既有幾分新奇,又有幾分神秘,但更多的是莫名的擔(dān)心,既擔(dān)心自己不會(huì)動(dòng)手去做,又擔(dān)心自己做的不是很好。終于,在擔(dān)心與被動(dòng)中,在考完C+程序設(shè)計(jì)后,我坐在了電腦前,一點(diǎn)點(diǎn)地構(gòu)思算法、輸入、編譯、運(yùn)行,不懂的就問同學(xué),忘了的就看書。在編程中,慢慢地弄懂了題意,漸漸地就能構(gòu)思出算法。終于,有了算法,其他過程的設(shè)計(jì)就顯得得心應(yīng)手了。在編程中,我發(fā)現(xiàn):類和鏈表有點(diǎn)不同,但也有相通之處,用類做過的題目,用鏈表再做時(shí),就顯得很簡(jiǎn)單了。在本題中,我建立了對(duì)象數(shù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論