課程設(shè)計簡單圖形處理系統(tǒng)_第1頁
課程設(shè)計簡單圖形處理系統(tǒng)_第2頁
課程設(shè)計簡單圖形處理系統(tǒng)_第3頁
課程設(shè)計簡單圖形處理系統(tǒng)_第4頁
課程設(shè)計簡單圖形處理系統(tǒng)_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、簡單圖形處理系統(tǒng)程序設(shè)計基礎(chǔ)課程設(shè)計報告專 業(yè): 電子信息工程 班 級: 2007級 2 班 學(xué) 號: 2007082051姓 名:楊 淼 軍指導(dǎo)教師:常 耀 輝2008年6月28日目 錄1.課程設(shè)計目的32.課程設(shè)計題目描述和要求32.1課程題目32.2課程要求33.課程設(shè)計報告內(nèi)容33.2 運行結(jié)果114. 課程設(shè)計總結(jié)125.參考書目121.課程設(shè)計目的開拓思維,檢查和鞏固所學(xué)的知識,為以后的學(xué)習(xí)和編程打下基礎(chǔ)。2.課程設(shè)計題目描述和要求2.1課程題目簡單圖形處理系統(tǒng)2.2課程要求設(shè)某個圖形處理程序只考慮點、直線、圓三種基本圖形。對于點,給出點的橫縱坐標(biāo);對于直線,給出直線方程ax+by

2、+c0的三個系數(shù)a,b,c;對于圓,給出圓心坐標(biāo)和半徑。(為敘述性文字,告訴我題目要求做些什么)試說明圖形的幾何形狀類型,并編寫輸入和輸出圖形數(shù)據(jù)、求兩點距離、求兩直線交點、 已知點和半徑形成圓、已知兩點形成直線等函數(shù)。(后面這些為具體的要求)3.課程設(shè)計報告內(nèi)容#include<iostream>#include<cmath>#include<string>using namespace std;class point public: friend void point_count(point *p);/聲明為友員函數(shù),便于引用類的私有數(shù)據(jù) friend

3、void build_line(point *p); void set_value() /作用:輸入點的坐標(biāo)cout<<"請輸入點的坐標(biāo)"<<endl;cin>>x>>y;void show() /作用:輸出點的坐標(biāo)cout<<"點的坐標(biāo)是:("<<x<<","<<y<<")"<<endl;private:float x,y;void point_count(point *p) /作用:計算兩點間

4、的距離cout<<"兩點間的距離為:"<<endl;cout<<sqrt(*p).x-(*(p+1).x)*(*p).x-(*(p+1).x)+(*p).y-(*(p+1).y)*(*p).y-(*(p+1).y)<<endl;void build_line(point *p) /作用:用兩點構(gòu)造直線cout<<"兩個點的坐標(biāo)為:("<<(*p).x<<","<<(*p).y<<"),("<<(*

5、(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).x<<endl;cout<<"直線方程是:"<<(*p).y

6、-(*(p+1).y<<"x+"<<(*(p+1).x-(*p).x<<"y+"<<(*(p+1).y*(*p).x-(*p).y*(*(p+1).x<<"=0"<<endl;class linepublic:friend void line_count(line *p);/聲明為友員函數(shù)void set_value() /作用:輸入直線的三個參數(shù)cout<<"請輸入直線的三個參數(shù)"<<endl;cin>>a

7、>>b>>c;void show() /作用:輸出直線的方程if(a=1&&b!=1)cout<<"直線的方程為:x+"<<b<<"y+"<<c<<"=0"<<endl;else if(a!=1&&b=1)cout<<"直線的方程為:"<<a<<"x+y+"<<c<<"=0"<<

8、endl;else if(a=1&&b=1)cout<<"直線的方程為:x+y+"<<c<<"=0"<<endl;else cout<<"直線的方程為:"<<a<<"x+"<<b<<"y+"<<c<<"=0"<<endl;private:float a,b,c;void line_count(line *p) /作用:

9、計算兩直線的交點if(*p).a/(*(p+1).a=(*p).b/(*(p+1).b)cout<<"兩直線平行,沒有交點"<<endl;else cout<<"兩直線的交點是:"<<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*(*(

10、p+1).a)/(*p).a*(*(p+1).b-(*p).b*(*(p+1).a)<<")"<<endl;class circlepublic:void set_value() /作用:輸入圓心坐標(biāo)和半徑cout<<"請輸入圓的坐標(biāo)和半徑"<<endl;cin>>x>>y>>r;void show() /作用:輸出圓的圓心坐標(biāo)、半徑和方程(構(gòu)造圓)cout<<"圓心坐標(biāo):("<<x<<","&l

11、t;<y<<"),半徑:"<<r<<endl;if(x=0&&y=0)cout<<"圓的方程:xx+yy="<<r*r<<endl; else if(x=0&&y!=0)cout<<"圓的方程:xx+(y-"<<y<<")(y-"<<y<<")="<<r*r<<endl; else if(y=0&

12、&x!=0)cout<<"圓的方程:"<<"(x-"<<x<<")(x-"<<x<<")+yy="<<r*r<<endl; else cout<<"圓的方程:(x-"<<x<<")(x-"<<x<<")+(y-"<<y<<")(y-"<<y

13、<<")="<<r*r<<endl;private:float x,y,r;int main()point poi2;line lin2;circle cir;int i;string choose; /choose 選擇是否繼續(xù)輸入string typ; /typ:圖形的形狀 / while(1)無限循環(huán),讓用戶自己選擇for(;)cout<<"請輸入圖形類型"<<endl;cin>>typ; /出現(xiàn)過:'cin' : ambiguous(不明確的,多定義的) sy

14、mbolcout<<"圖形為:"<<typ<<endl;/處理點的問題if(typ="point")for(i=0;i+) /注意要讓程序跳出poii.set_value();cout<<"是否繼續(xù)輸入點的坐標(biāo)?"<<endl;cin>>choose;if(choose="no")break;if(i=0)poi0.show();else if(i=1)for(i=0;i<2;i+)poii.show();point_count(poi)

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

16、typ="circle")cir.set_value();cir.show();/處理其他圖形的問題else cout<<"圖形不在指定的范圍內(nèi)"<<endl;cout<<"是否繼續(xù)輸入圖形的類型?"<<endl;cin>>choose; if(choose="no")break; /同樣只有選擇了不輸入時,才能跳出return 0;3.2 運行結(jié)果4. 課程設(shè)計總結(jié)終于,激動人心的期末考試如期而至,從未感受過的課程設(shè)計就在眼前,既有幾分新奇,又有幾分神秘,但更多的是莫名的擔(dān)心,既擔(dān)心自己不會動手去做,又擔(dān)心自己做的不是很好。終于,在擔(dān)心與被動中,在考完C+程序設(shè)計后,我坐在了電腦前,一點點地構(gòu)思算法、輸入、編譯、運行,不懂的就問同學(xué),忘了的就看書。在編程中,慢慢地弄懂了題意,漸漸地就能構(gòu)思出算法。終于,有了算法

溫馨提示

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

最新文檔

評論

0/150

提交評論