版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 一、前言</b></p><p> 經(jīng)過一年的C++程序語言的學(xué)習(xí),我充分培養(yǎng)了我在這門課上的學(xué)習(xí)興趣。上學(xué)期由于條件限制,這門課的學(xué)習(xí)學(xué)習(xí)較為落后,以至于考試成績很不理想。這學(xué)期有了電腦,學(xué)習(xí)起來輕松多了,</p><p> 因?yàn)檫@門課有個(gè)最大的特點(diǎn)那就是:如果你有不懂的,不用問老師,問計(jì)算機(jī)就行了。一個(gè)多月前,《C++程序設(shè)計(jì)課程
2、設(shè)計(jì)》學(xué)習(xí)任務(wù)的下達(dá)讓我有喜有憂。喜的是我可以較為全面的考察一下我的學(xué)習(xí)知識(shí)的情況,憂的是我覺得太有挑戰(zhàn),不覺得自己有能力獨(dú)立完成。經(jīng)過深思熟慮,我選擇了第14道題——《復(fù)數(shù)類》。此題較為全面的考察了類和運(yùn)算符重載以及許多C++基礎(chǔ)知識(shí)。通過長達(dá)8個(gè)小時(shí)的編寫、運(yùn)行、調(diào)試、測(cè)試,最終完成!</p><p><b> 需求分析</b></p><p> 根據(jù)題目要求
3、,大可分題目目標(biāo)兩個(gè):</p><p> 建立復(fù)數(shù)類Complex以及復(fù)數(shù)類的信息初始化和輸出;</p><p> 實(shí)現(xiàn)復(fù)數(shù)的基礎(chǔ)數(shù)學(xué)運(yùn)算。</p><p> 分析解決問題所需的元素:</p><p> 建立復(fù)數(shù)類protected元素的數(shù)據(jù)類型應(yīng)為double型;</p><p> public中的函數(shù)的返
4、回值應(yīng)為復(fù)數(shù)類,所以函數(shù)的類型 </p><p> 應(yīng)該是Complex類,且應(yīng)該有14個(gè);</p><p> 在進(jìn)行構(gòu)造自加、自減、乘方運(yùn)算的函數(shù)時(shí)不可能帶 </p><p> 參數(shù),故應(yīng)使用*this(this指針);</p><p> 我編寫此程序應(yīng)該是中學(xué)教師辦公或者學(xué)生學(xué)習(xí)所 </p><p>
5、; 用 ,所以在之后的代碼部分我有較為詳細(xì)的注釋。</p><p><b> 概要設(shè)計(jì)</b></p><p> 列出我的程序流程簡(jiǎn)圖(如下):</p><p><b> 代碼大體格式:</b></p><p> #include<iostream.h></p>
6、<p> class Complex</p><p> {double real,image;</p><p><b> public:</b></p><p> ...14個(gè)函數(shù)...</p><p><b> };</b></p><p> int
7、main ()</p><p> {Complex c1(1,2),c2(3,4),c3,...;</p><p> 調(diào)用前面的函數(shù),實(shí)現(xiàn)數(shù)學(xué)基本運(yùn)算的要求...</p><p><b> return 0;</b></p><p><b> }</b></p><p&g
8、t;<b> 詳細(xì)設(shè)計(jì)</b></p><p><b> (代碼):</b></p><p> #include <iostream.h></p><p> class Complex</p><p><b> {</b></p><p
9、> protected:</p><p> double real,image;</p><p><b> public:</b></p><p> Complex(double r=0,double i=0):real(r),image(i){} //復(fù)數(shù)類的數(shù)據(jù)初始化。</p><p> doubl
10、e Real(){return real;}</p><p> double Image(){return image;}</p><p> Complex Jueduizhi(); //各種運(yùn)算函數(shù)。</p><p> Complex operator+(Complex &);</p>
11、<p> Complex operator+(double);</p><p> Complex operator-(Complex &);</p><p> Complex operator-(double);</p><p> Complex operator*(Complex &);</p><p>
12、 Complex operator/(Complex &);</p><p> Complex operator++();</p><p> Complex operator--();</p><p> Complex Chengfang(int);</p><p> Complex operator=(Complex);&l
13、t;/p><p><b> };</b></p><p> Complex Complex::Jueduizhi()</p><p><b> {</b></p><p> Complex temp;</p><p> temp.real=(real>=0)?re
14、al:-real;</p><p> temp.image=(image>=0)?image:-image;</p><p> return temp;</p><p><b> }</b></p><p> Complex Complex::operator+(Complex &c)</p&
15、gt;<p><b> {</b></p><p> Complex temp;</p><p> temp.real=real+c.real;</p><p> temp.image=image+c.image;</p><p> return temp;</p><p>
16、;<b> }</b></p><p> Complex Complex::operator+(double d)</p><p><b> {</b></p><p> Complex temp;</p><p> temp.real=real+d;</p><p&g
17、t; temp.image=image;</p><p> return temp;</p><p><b> }</b></p><p> Complex Complex::operator-(Complex &c)</p><p><b> {</b></p>&
18、lt;p> Complex temp;</p><p> temp.real=real-c.real;</p><p> temp.image=image-c.image;</p><p> return temp;</p><p><b> }</b></p><p> Com
19、plex Complex::operator-(double d)</p><p><b> {</b></p><p> Complex temp;</p><p> temp.real=real-d;</p><p> temp.image=image;</p><p> retur
20、n temp;</p><p><b> }</b></p><p> Complex Complex::operator*(Complex &c)</p><p><b> {</b></p><p> Complex temp;</p><p> if(
21、c.real!=0&&c.image!=0)</p><p><b> {</b></p><p> temp.real=real*c.real-image*c.image;</p><p> temp.image=real*c.image+image*c.real;</p><p><b&g
22、t; }</b></p><p> return temp;</p><p><b> }</b></p><p> Complex Complex::operator/(Complex &c)</p><p><b> {</b></p><p&g
23、t; Complex temp;</p><p> if(c.real!=0&&c.image!=0)</p><p><b> {</b></p><p> temp.real=(1/(c.real*c.real+c.image*c.image))*(real*c.real+image*c.image);</p&
24、gt;<p> temp.image=(1/(c.real*c.real+c.image*c.image))*(image*c.real-real*c.image);</p><p><b> }</b></p><p> return temp;</p><p><b> }</b></p&g
25、t;<p> Complex Complex::Chengfang(int n)</p><p><b> {</b></p><p> Complex temp;</p><p> temp=*this;</p><p> for(int i=1;i<n;i++)</p>&
26、lt;p><b> {</b></p><p> temp=(*this)*temp;</p><p><b> }</b></p><p> return temp;</p><p><b> }</b></p><p> Compl
27、ex Complex::operator++()</p><p><b> {</b></p><p> Complex temp;</p><p> temp=*this;</p><p> temp.real=++(*this).real;</p><p> temp.image=+
28、+(*this).image;</p><p> return temp;</p><p><b> }</b></p><p> Complex Complex::operator--()</p><p><b> {</b></p><p> Complex t
29、emp;</p><p> temp=*this;</p><p> temp.real=--(*this).real;</p><p> temp.image=--(*this).image;</p><p> return temp;</p><p><b> }</b></p
30、><p> Complex Complex::operator=(Complex c)</p><p><b> {</b></p><p> real=c.real;</p><p> image=c.image;</p><p> return *this;</p><
31、;p><b> }</b></p><p> int main ()</p><p><b> {</b></p><p> Complex c1(1,2),c2(3,4),c3,c4,c5,c6,c7,c8,c9,c10;</p><p> cout<<"c1
32、="<<c1.Real()<<"+"<<c1.Image()<<"i"<<endl;</p><p> cout<<"c2="<<c2.Real()<<"+"<<c2.Image()<<"i&q
33、uot;<<endl;</p><p> c3=c2.Jueduizhi();</p><p> cout<<"|c2|="<<c3.Real()<<"+"<<c3.Image()<<"i"<<endl;</p><p>
34、;<b> c4=c1+c2;</b></p><p> cout<<"c1+c2="<<c4.Real()<<"+"<<c4.Image()<<"i"<<endl;</p><p><b> c5=c2-c1;</
35、b></p><p> cout<<"c2-c1="<<c5.Real()<<"+"<<c5.Image()<<"i"<<endl;</p><p><b> c6=c1*c2;</b></p><p>
36、 cout<<"c1*c2="<<c6.Real()<<"+"<<c6.Image()<<"i"<<endl;</p><p><b> c7=c2/c1;</b></p><p> cout<<"c2/c1=
37、"<<c7.Real()<<"+"<<c7.Image()<<"i"<<endl;</p><p> c8=c1.Chengfang(5);</p><p> cout<<"c1^5="<<c8.Real()<<"
38、;+"<<c8.Image()<<"i"<<endl;</p><p><b> c9=c1++;</b></p><p> cout<<"c1++="<<c9.Real()<<"+"<<c9.Image()&l
39、t;<"i"<<endl;</p><p><b> c10=c2--;</b></p><p> cout<<"c2--="<<c10.Real()<<"+"<<c10.Image()<<"i"<&l
40、t;endl;</p><p><b> return 0;</b></p><p><b> }</b></p><p><b> 測(cè)試</b></p><p> 當(dāng)把程序做出來后,如釋重負(fù)啊,心中特別的高興,對(duì)一些知識(shí)點(diǎn)有了一定的復(fù)習(xí)。然后擺在當(dāng)前的一個(gè)主要任務(wù)就是
41、對(duì)運(yùn)行程序的結(jié)果進(jìn)行截圖。剛開始不會(huì)截圖,于是向同學(xué)請(qǐng)教,結(jié)果學(xué)的不是很理想,截出來的效果不好。最后突然間想起了一個(gè)簡(jiǎn)便的辦法,那就是QQ截圖,通過QQ截圖,截了一張運(yùn)行結(jié)果的圖,完成了運(yùn)行結(jié)果及分析部分。</p><p><b> 總結(jié)</b></p><p> 在粗略地瀏覽了相關(guān)知識(shí)后,然后我開始思考著手編寫程序的相關(guān)事宜。然后根據(jù)所選課設(shè)題目中老師給的相關(guān)提
42、示,確定了編寫程序的一個(gè)基本思路,對(duì)程序畫了一個(gè)大概的結(jié)構(gòu)框架圖。有了大概的思路后,我根據(jù)事先畫好的結(jié)構(gòu)框圖正式著手編寫程序。我采取獨(dú)立編寫然后匯總的模式進(jìn)行。2小時(shí)的自力更生,艱苦奮斗,我將程序?qū)懲辏又M(jìn)行程序的整理。發(fā)現(xiàn)我編寫的程序算法部分有缺陷。我決定把這個(gè)代碼用計(jì)算機(jī)執(zhí)行。調(diào)試過程是最煩人的了,各種問題都不斷地出現(xiàn),都不知道錯(cuò)誤咋就那么多呢。逗號(hào)分號(hào),大寫小寫,這些都是些基本的小錯(cuò)誤,由于我馬虎,弄得自己懷疑自己是怎么學(xué)的。于
43、是我調(diào)動(dòng)了手中一切可以利用的資源,靜下心來,堅(jiān)信明天會(huì)更好。比較高興的事,在經(jīng)過幾番的探索之后,事實(shí)如我所愿。截了一張運(yùn)行結(jié)果圖,完成了運(yùn)行結(jié)果及分析部分。不過整個(gè)過程麻煩眾多,看來有待提升的還有很多。接下來就是完成課程設(shè)計(jì)的一些要求,一想到老師和我們比較親近,人比較好,心中就沒有了緊張感。只需能系統(tǒng)地論述自己的程序以及各個(gè)部分的原理及其功能,我也就沒什么好害怕的了。好好表現(xiàn),認(rèn)真思考,展現(xiàn)自己的真實(shí)實(shí)力,我想;這就是對(duì)自己最大的鍛煉和
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c++課程設(shè)計(jì)--c++程序設(shè)計(jì)語言
- c++課程設(shè)計(jì)-- c++面向?qū)ο蟪绦蛟O(shè)計(jì)
- c++程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告
- 《c++語言程序設(shè)計(jì)》課程設(shè)計(jì)報(bào)告
- 《程序設(shè)計(jì)語言(c++)》課程設(shè)計(jì)
- c++面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)報(bào)告
- c++課程設(shè)計(jì)--程序設(shè)計(jì)基礎(chǔ)(cc++)
- c++程序設(shè)計(jì)課程設(shè)計(jì)--電費(fèi)管理系統(tǒng)
- 《c++程序設(shè)計(jì)》課程設(shè)計(jì)報(bào)告--訂票系統(tǒng)
- c++程序設(shè)計(jì)課程設(shè)計(jì)--電費(fèi)管理系統(tǒng)
- c++程序設(shè)計(jì) 課程大綱
- c++課程設(shè)計(jì)--學(xué)生選課系統(tǒng)程序設(shè)計(jì)報(bào)告
- c++課程設(shè)計(jì)-學(xué)生選課系統(tǒng)程序設(shè)計(jì)文檔
- 《c++程序設(shè)計(jì)》課程設(shè)計(jì)--學(xué)生學(xué)籍管理系統(tǒng)
- c++程序設(shè)計(jì)課程設(shè)計(jì)---公司人員管理系統(tǒng)
- c++課程設(shè)計(jì)--學(xué)生選課系統(tǒng)程序設(shè)計(jì)報(bào)告
- c++程序設(shè)計(jì)課程-說課
- c++程序設(shè)計(jì)課程設(shè)計(jì)---學(xué)生信息管理系統(tǒng)
- 《高級(jí)語言程序設(shè)計(jì)》c++課程設(shè)計(jì)數(shù)值微分
- c++程序設(shè)計(jì)課程設(shè)計(jì)---學(xué)生成績管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論