版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 高級(jí)程序設(shè)計(jì)實(shí)踐(C++)</p><p><b> 課程設(shè)計(jì)報(bào)告</b></p><p> 題 目 復(fù)數(shù)計(jì)算器 </p><p><b> 目錄</b></p><p> 需求分析..
2、...............................第1頁</p><p> 第二章 概要設(shè)計(jì).................................第2頁</p><p> 第三章 詳細(xì)設(shè)計(jì).................................第4頁</p><p> 第四章 調(diào)試分析.....................
3、...........第21頁</p><p> 第五章 測試結(jié)果................................第25頁</p><p> 第六章 課程設(shè)計(jì)總結(jié)............................第36頁</p><p> 第七章 參考文獻(xiàn)................................第37頁</p
4、><p> 第八章 附錄....................................第37頁</p><p><b> 第一章 需求分析</b></p><p> 1.1程序設(shè)計(jì)的任務(wù)</p><p><b> 1.1.1編程目的</b></p><p>
5、1.本次程序設(shè)計(jì)的目的運(yùn)用面向?qū)ο蟪绦蛟O(shè)計(jì)知識(shí),利用C++語言設(shè)計(jì)和實(shí)現(xiàn)一個(gè)復(fù)數(shù)計(jì)算器,要求具備如下主要功能:</p><p> ?。?)建立實(shí)數(shù)類、復(fù)數(shù)類</p><p> ?。?)實(shí)現(xiàn)實(shí)數(shù)、復(fù)數(shù)信息的初始化</p><p> (3)實(shí)現(xiàn)實(shí)數(shù)的加、減、乘、除、自增、自減、求平方、二次方根等操作</p><p> ?。?)實(shí)現(xiàn)復(fù)數(shù)的加、減、
6、乘、除、取模、求平方、求共軛復(fù)數(shù)、求單個(gè)復(fù)數(shù)的向量角、求兩個(gè)復(fù)數(shù)的夾角等運(yùn)算</p><p> ?。?)實(shí)現(xiàn)實(shí)數(shù)、復(fù)數(shù)信息的輸出</p><p><b> 1.1.2編程要求</b></p><p> 在實(shí)現(xiàn)過程中,需利用面向?qū)ο蟪绦蛟O(shè)計(jì)理論的基礎(chǔ)知識(shí),充分體現(xiàn)出C++語言關(guān)于類、繼承、封裝與多態(tài)等核心概念,每一個(gè)類應(yīng)包含數(shù)據(jù)成員和成員函數(shù)
7、。</p><p><b> 1.1.3數(shù)據(jù)范圍</b></p><p> 數(shù)據(jù)輸入的形式為float型,輸出形式亦是float型,數(shù)據(jù)(實(shí)數(shù)、復(fù)數(shù)的實(shí)部、虛部)范圍是-2^128 ~ +2^128,也即-3.40E+38 ~ +3.40E+38。</p><p> 1.2本程序能實(shí)現(xiàn)的功能</p><p> 1
8、.2.1實(shí)數(shù)類(Complex)所實(shí)現(xiàn)的功能:</p><p> 實(shí)數(shù)的加法運(yùn)算、減法運(yùn)算、乘法運(yùn)算、除法運(yùn)算、前置自增運(yùn)算、后置自增運(yùn)算、前置自減運(yùn)算、后置自減運(yùn)算、求平方運(yùn)算、求平方根運(yùn)算;</p><p> 1.2.2復(fù)數(shù)類(Complex1)所實(shí)現(xiàn)的功能:</p><p> 復(fù)數(shù)的加法運(yùn)算、減法運(yùn)算、乘法運(yùn)算、除法運(yùn)算、模長運(yùn)算、求平方運(yùn)算、共軛復(fù)數(shù)運(yùn)
9、算、求單個(gè)復(fù)數(shù)的向量角運(yùn)算、求兩個(gè)復(fù)數(shù)的夾角運(yùn)算。</p><p> 1.2.3主函數(shù)所能實(shí)現(xiàn)的功能</p><p> 1.提供給操作者操作數(shù)據(jù)的類型(實(shí)數(shù)還是復(fù)數(shù))的標(biāo)識(shí);</p><p> 2.操作者選擇數(shù)據(jù)類型后,提供運(yùn)算類型操作的標(biāo)識(shí);</p><p> 3.運(yùn)用指針調(diào)用兩個(gè)類的各成員函數(shù)分別完成各項(xiàng)計(jì);</p>
10、<p><b> 第二章 概要設(shè)計(jì)</b></p><p><b> 2.1構(gòu)成部分</b></p><p> 2.1.1系統(tǒng)由三部分構(gòu)成:實(shí)數(shù)類(Complex)、復(fù)數(shù)類(Complex1)、主函數(shù)main。</p><p> 2.1.2.構(gòu)成部分關(guān)系</p><p> 復(fù)數(shù)
11、類(Complex1)由實(shí)數(shù)類(Complex)派生而來,其中兩者成員函數(shù)中的enter(輸入數(shù)據(jù))函數(shù)是虛函數(shù),用以實(shí)現(xiàn)多態(tài)性。</p><p> 主函數(shù)main通過指針調(diào)用實(shí)數(shù)類(Complex)、復(fù)數(shù)類(Complex1)分別完成實(shí)數(shù)運(yùn)算、復(fù)數(shù)運(yùn)算。</p><p><b> 2.1.3.類層次</b></p><p> 實(shí)數(shù)類是父
12、類,復(fù)數(shù)類是子類。</p><p> 2.2主程序流程以及程序模塊之間的調(diào)用關(guān)系</p><p> 如圖2.2—1所示:</p><p> w=3 w=4 w=5 w=6 …… w=12 v=3 v=4 v=5 v=6 …… v=11</p><p> 圖2.2--1主程序流程以及程
13、序模塊之間的調(diào)用關(guān)系圖</p><p> 注:圖2.2--1中沒有畫出</p><p> flag=0時(shí)退出系統(tǒng);</p><p> flag不等于0,1,2時(shí)出現(xiàn)錯(cuò)誤提示語句的選擇結(jié)構(gòu);</p><p> w,v在選擇范圍之外時(shí)出現(xiàn)錯(cuò)誤提示語句的選擇結(jié)構(gòu)。</p><p><b> 特殊處理:&l
14、t;/b></p><p> 除法運(yùn)算分母為0;求二次方根數(shù)為負(fù)數(shù);求單個(gè)復(fù)數(shù)夾角時(shí)判斷象限的過程。</p><p><b> 第三章 詳細(xì)設(shè)計(jì)</b></p><p> 3.1類層次中各個(gè)類的描述</p><p> 3.1.1.實(shí)數(shù)類(Complex)</p><p> 私有部分
15、僅數(shù)據(jù):float型數(shù)據(jù) real;</p><p> 公共部分包括12個(gè)成員函數(shù),分別是:</p><p> 類的構(gòu)造函數(shù):Complex()</p><p> 實(shí)數(shù)加法運(yùn)算函數(shù): Complex operator+(Complex &c1)</p><p> 實(shí)數(shù)減法運(yùn)算函數(shù):Complex operator-(Compl
16、ex &c1)</p><p> 實(shí)數(shù)乘法運(yùn)算函數(shù):Complex operator*(Complex &c1)</p><p> 實(shí)數(shù)除法運(yùn)算函數(shù):Complex operator/(Complex &c1)</p><p> 實(shí)數(shù)前置自增函數(shù):Complex operator++()</p><p> 實(shí)數(shù)
17、后置自增函數(shù):Complex operator++(int)</p><p> 實(shí)數(shù)前置自減函數(shù):Complex operator--()</p><p> 實(shí)數(shù)后置自減函數(shù):Complex operator--(int)</p><p> 實(shí)數(shù)求平方根函數(shù):float RootOfTwo()</p><p> 實(shí)數(shù)求平方函數(shù):flo
18、at Square()</p><p> 實(shí)數(shù)輸入數(shù)據(jù)函數(shù):virtual void enter()</p><p> 3.1.2.復(fù)數(shù)類(Complex1)</p><p> 私有部分僅數(shù)據(jù)成員float 型數(shù)據(jù)real和float 型數(shù)據(jù)imag,二者分別代表復(fù)數(shù)的實(shí)部和虛部;</p><p> 公共部分包含11個(gè)成員函數(shù),分別是
19、:</p><p> 類的構(gòu)造函數(shù):Complex1()</p><p> 復(fù)數(shù)加法運(yùn)算函數(shù):Complex1 operator+(Complex1 &c1)</p><p> 復(fù)數(shù)減法運(yùn)算函數(shù):Complex1 operator-(Complex1 &c1)</p><p> 復(fù)數(shù)乘法運(yùn)算函數(shù): Complex1 o
20、perator*(Complex1 &c1)</p><p> 復(fù)數(shù)除法運(yùn)算函數(shù):Complex1 operator/(Complex1 &c1)</p><p> 復(fù)數(shù)求模長函數(shù):float Length()</p><p> 復(fù)數(shù)求平方函數(shù):Complex1 Square1()</p><p> 求共軛復(fù)數(shù)函數(shù):C
21、omplex1 Conjugate()</p><p> 復(fù)數(shù)求角度函數(shù):float Angle1()</p><p> 復(fù)數(shù)間求角度函數(shù):float Angle2(Complex1 &c1)</p><p> 復(fù)數(shù)輸入數(shù)據(jù)函數(shù):void enter()</p><p> 3.2類中各成員函數(shù)的定義</p>&l
22、t;p> 3.2.1實(shí)數(shù)類(Complex)</p><p><b> 1 類的構(gòu)造函數(shù)</b></p><p> 函數(shù)體部分:Complex(){};</p><p><b> 2實(shí)數(shù)加法運(yùn)算函數(shù)</b></p><p><b> 函數(shù)體部分</b></
23、p><p> Complex operator+(Complex &c1)</p><p><b> {</b></p><p> Complex c;</p><p> cout<<"the result is: "<<endl;</p><p
24、> c.real=real+c1.real;</p><p> cout<<real<<"+"<<c1.real<<"="<<c.real<<endl;</p><p><b> return c;</b></p><p>
25、;<b> }</b></p><p><b> 3實(shí)數(shù)減法運(yùn)算函數(shù)</b></p><p><b> 函數(shù)體部分</b></p><p> Complex operator-(Complex &c1)</p><p><b> {</b>
26、;</p><p> Complex c;</p><p> cout<<"the result is: "<<endl;</p><p> c.real=real-c1.real;</p><p> cout<<real<<"-"<<
27、c1.real<<"="<<c.real<<endl;</p><p><b> return c;</b></p><p><b> }</b></p><p><b> 4實(shí)數(shù)乘法運(yùn)算函數(shù)</b></p><p>
28、;<b> 函數(shù)體部分</b></p><p> Complex operator*(Complex &c1)</p><p><b> {</b></p><p> Complex c;</p><p> c.real=real*c1.real;</p><p
29、> cout<<"the result is: "<<endl;</p><p> cout<<real<<"*"<<c1.real<<"="<<c.real<<endl;</p><p><b> return
30、c;</b></p><p><b> }</b></p><p><b> 5實(shí)數(shù)除法運(yùn)算函數(shù)</b></p><p><b> 函數(shù)體部分</b></p><p> Complex operator/(Complex &c1)</p>
31、<p><b> {</b></p><p> Complex c;</p><p> cout<<"the result is: "<<endl;</p><p> c.real=real/c1.real;</p><p> cout<<r
32、eal<<"/"<<c1.real<<"="<<c.real<<endl;</p><p><b> return c;</b></p><p><b> }</b></p><p><b> 6實(shí)數(shù)前置自增
33、函數(shù)</b></p><p><b> 函數(shù)體部分</b></p><p> Complex operator++() {</p><p> cout<<"the result is: "<<endl;</p><p> cout<<&quo
34、t;++"<<real;</p><p><b> ++real;</b></p><p> cout<<"="<<real<<endl;</p><p> return *this;</p><p><b> }</b
35、></p><p><b> 7實(shí)數(shù)后置自增函數(shù)</b></p><p><b> 函數(shù)體部分</b></p><p> Complex operator++(int)</p><p><b> {</b></p><p> Comple
36、x temp(*this);</p><p> cout<<"the result is: "<<endl;</p><p> cout<<real<<"++";</p><p><b> real++;</b></p><p>
37、; cout<<"="<<real-1<<endl;</p><p> cout<<real<<endl;</p><p> return temp;</p><p><b> }</b></p><p><b> 8實(shí)數(shù)
38、前置自減函數(shù)</b></p><p><b> 函數(shù)體部分</b></p><p> Complex operator--()</p><p><b> {</b></p><p> cout<<"the result is: "<<e
39、ndl;</p><p> cout<<"--"<<real;</p><p><b> --real;</b></p><p> cout<<"="<<real<<endl;</p><p> return *t
40、his;</p><p><b> }</b></p><p><b> 9實(shí)數(shù)后置自減函數(shù)</b></p><p><b> 函數(shù)體部分</b></p><p> Complex operator--(int)</p><p><b>
41、; {</b></p><p> Complex temp(*this);</p><p> cout<<"the result is: "<<endl;</p><p> cout<<real<<"--";</p><p><b
42、> real--;</b></p><p> cout<<"="<<real+1<<endl;</p><p> cout<<real<<endl;</p><p> return temp;</p><p><b> }&l
43、t;/b></p><p> 10實(shí)數(shù)求平方根函數(shù)</p><p><b> 函數(shù)體部分</b></p><p> float RootOfTwo()</p><p><b> {</b></p><p> Complex c;</p><
44、p> if(real<0)</p><p><b> {</b></p><p> cout<<"the number is wrong!!!"<<endl;</p><p><b> }</b></p><p><b>
45、else</b></p><p><b> {</b></p><p> cout<<"the result is: "<<endl;</p><p> c.real=sqrt(real);</p><p> cout<<"sqrt&q
46、uot;<<real<<"="<<c.real<<endl;</p><p><b> }</b></p><p> return c.real;</p><p><b> }</b></p><p><b> 1
47、1實(shí)數(shù)求平方函數(shù)</b></p><p><b> 函數(shù)體部分</b></p><p> float Square()</p><p><b> {</b></p><p> Complex c;</p><p> cout<<"t
48、he result is: "<<endl;</p><p> c.real=real*real;</p><p> cout<<"square"<<real<<"="<<c.real<<endl;</p><p> return c.re
49、al;</p><p><b> }</b></p><p> 12實(shí)數(shù)輸入數(shù)據(jù)函數(shù)(虛函數(shù))</p><p><b> 函數(shù)體部分</b></p><p> virtual void enter()</p><p><b> {</b><
50、;/p><p> cin>>real;</p><p><b> }</b></p><p> 3.2.2復(fù)數(shù)類(Complex1)</p><p><b> 1.類的構(gòu)造函數(shù)</b></p><p><b> 函數(shù)體部分</b><
51、;/p><p> Complex1(){}; </p><p> 2. 復(fù)數(shù)加法運(yùn)算函數(shù)</p><p><b> 函數(shù)體部分</b></p><p> Complex1 operator+(Complex1 &c1)</p><p><b> {</b>&l
52、t;/p><p> Complex1 c;</p><p> cout<<"the result is: "<<endl;</p><p> c.real=real+c1.real;</p><p> c.imag=imag+c1.imag;</p><p> cout
53、<<"("<<real<<"+"<<imag<<"j"<<")"<<"+"</p><p> <<"("<<c1.real<<"+"<<c1.
54、imag<<"j"<<")"<<"="</p><p> <<"("<<c.real<<"+"<<c.imag<<"j"<<")"<<endl;</
55、p><p><b> return c;</b></p><p><b> }</b></p><p><b> 3復(fù)數(shù)減法運(yùn)算函數(shù)</b></p><p><b> 函數(shù)體部分</b></p><p> Complex1 o
56、perator-(Complex1 &c1)</p><p><b> {</b></p><p> Complex1 c;</p><p> cout<<"the result is: "<<endl;</p><p> c.real=real-c1.real
57、;</p><p> c.imag=imag-c1.imag;</p><p> cout<<"("<<real<<"+"<<imag<<"j"<<")"<<"-"</p><p>
58、; <<"("<<c1.real<<"+"<<c1.imag<<"j"<<")"<<"="</p><p> <<"("<<c.real<<"+"<
59、;<c.imag<<"j"<<")"<<endl;</p><p><b> return c;</b></p><p><b> }</b></p><p><b> 4復(fù)數(shù)乘法運(yùn)算函數(shù)</b></p>
60、;<p><b> 函數(shù)體部分</b></p><p> Complex1 operator*(Complex1 &c1)</p><p><b> {</b></p><p> Complex1 c;</p><p> cout<<"the r
61、esult is: "<<endl;</p><p> c.real=real*c1.real-imag*c1.imag;</p><p> c.imag=real*c1.imag+imag*c1.real;</p><p> cout<<"("<<real<<"+&quo
62、t;<<imag<<"j"<<")"<<"*"</p><p> <<"("<<c1.real<<"+"<<c1.imag<<"j"<<")"<&l
63、t;"="</p><p> <<"("<<c.real<<"+"<<c.imag<<"j"<<")"<<endl;</p><p><b> return c;</b></p
64、><p><b> }</b></p><p> 5.復(fù)數(shù)除法運(yùn)算函數(shù)</p><p><b> 函數(shù)體部分</b></p><p> Complex1 operator/(Complex1 &c1)</p><p><b> {</b>&
65、lt;/p><p> Complex1 c;</p><p> cout<<"the result is: "<<endl;</p><p> c.real=(real*c1.real+imag*c1.imag)/(c1.real*c1.real+c1.imag*c1.imag);</p><p>
66、; c.imag=(imag*c1.real-real*c1.imag)/(c1.real*c1.real+c1.imag*c1.imag);</p><p> cout<<"("<<real<<"+"<<imag<<"j"<<")"<<"
67、;/"</p><p> <<"("<<c1.real<<"+"<<c1.imag<<"j"<<")"<<"="</p><p> <<"("<<c.
68、real<<"+"<<c.imag<<"j"<<")"<<endl;</p><p><b> return c;</b></p><p><b> }</b></p><p><b>
69、6.復(fù)數(shù)求模長函數(shù)</b></p><p><b> 函數(shù)體部分</b></p><p> float Length()</p><p><b> {</b></p><p><b> float x;</b></p><p> c
70、out<<"the result is: "<<endl;</p><p> x=sqrt(real*real+imag*imag);</p><p> cout<<"|"<<real<<"+"<<imag<<"j"<
71、<"|"<<"="<<x<<endl;</p><p><b> return x;</b></p><p><b> }</b></p><p><b> 7.復(fù)數(shù)求平方函數(shù)</b></p><
72、;p><b> 函數(shù)體部分</b></p><p> Complex1 Square1()</p><p><b> {</b></p><p> Complex1 c;</p><p> cout<<"the result is: "<<
73、endl;</p><p> c.real=real*real-imag*imag;</p><p> c.imag=real*imag+imag*real;</p><p> cout<<" the square of "<<"("<<real<<"+"
74、;<<imag<<"j"<<")"</p><p> <<" is "<<"("<<c.real<<"+"<<c.imag<<"j"<<")"<
75、<endl;</p><p><b> return c;</b></p><p><b> }</b></p><p><b> 8.求共軛復(fù)數(shù)函數(shù)</b></p><p><b> 函數(shù)體部分</b></p><p&g
76、t; Complex1 Conjugate()</p><p><b> {</b></p><p> Complex1 c;</p><p> cout<<"the result is: "<<endl;</p><p> c.real=real;</p>
77、;<p> c.imag=imag*(-1);</p><p> if(c.imag>=0)</p><p><b> {</b></p><p> cout<<"conjugate complex number of"</p><p> <<&q
78、uot;("<<real<<"+"<<imag<<"j"<<")"<<" is "</p><p> <<"("<<c.real<<"+"<<c.imag<
79、;<"j"<<")"<<endl;</p><p><b> }</b></p><p> if(c.imag<0)</p><p><b> {</b></p><p> cout<<"con
80、jugate complex number of"</p><p> <<"("<<real<<"+"<<imag<<"j"<<")"<<" is "</p><p> <<&q
81、uot;("<<c.real<<c.imag<<"j"<<")"<<endl;</p><p><b> }</b></p><p><b> return c;</b></p><p><b>
82、}</b></p><p><b> 8.復(fù)數(shù)求角度函數(shù)</b></p><p><b> 函數(shù)體部分</b></p><p> float Angle1()</p><p><b> {</b></p><p><b>
83、 float y;</b></p><p> cout<<"the result is: "<<endl;</p><p> y=atan((imag)/(real))/i*180;</p><p> if(real==0&&imag!=0)</p><p><
84、;b> {</b></p><p> cout<<"the angle of"</p><p> <<"("<<real<<"+"<<imag<<"j"<<")"<<&qu
85、ot; is "</p><p> <<90<<endl;</p><p><b> }</b></p><p> if(real>0)</p><p><b> {</b></p><p> cout<<&q
86、uot;the angle of"</p><p> <<"("<<real<<"+"<<imag<<"j"<<")"<<" is "</p><p> <<y<<e
87、ndl;</p><p><b> }</b></p><p> if(real<0&&imag>0)</p><p><b> {</b></p><p> cout<<"the angle of"</p><
88、p> <<"("<<real<<"+"<<imag<<"j"<<")"<<" is "</p><p> <<y+180<<endl;</p><p><b>
89、 }</b></p><p> if(real<0&&imag<0)</p><p><b> {</b></p><p> cout<<"the angle of"</p><p> <<"("<&l
90、t;real<<"+"<<imag<<"j"<<")"<<" is "</p><p> <<y-180<<endl;</p><p><b> }</b></p><p>
91、<b> return y;</b></p><p><b> }</b></p><p> 9.復(fù)數(shù)間求角度函數(shù)</p><p><b> 函數(shù)體部分</b></p><p> float Angle2(Complex1 &c1)</p>&l
92、t;p><b> {</b></p><p> float z,r,s,t;</p><p> cout<<"the result is: "<<endl;</p><p> r=(real*c1.real+imag*c1.imag);</p><p> s=s
93、qrt(real*real+imag*imag);</p><p> t=sqrt(c1.real*c1.real+c1.imag*c1.imag);</p><p> z=acos(r/(s*t))/i*180;</p><p> cout<<"the angle between"<<" ("
94、<<real<<"+"<<imag<<"j"<<") "<<"and"</p><p> <<" ("<<c1.real<<"+"<<c1.imag<<&qu
95、ot;j"<<") "<<" is "</p><p> <<z<<endl;</p><p><b> return z;</b></p><p><b> }</b></p><p>
96、 10.復(fù)數(shù)輸入數(shù)據(jù)函數(shù)(虛函數(shù))</p><p><b> 函數(shù)體部分</b></p><p> void enter()</p><p><b> {</b></p><p> cin>>real;</p><p> cin>>imag;
97、</p><p> cout<<endl;</p><p><b> }</b></p><p> 3. 3主程序和重要模塊的算法</p><p> 3.3.1主程序和重要模塊具體代碼如下:</p><p> int main()
98、 //主函數(shù) </p><p><b> {</b></p><p> int flag,w,v;</p><p> Complex grad1,grad2;</p><p> Complex *pt1,*pt2;</p><p> C
99、omplex1 *pm1,*pm2;</p><p> Complex1 revd1,revd2;</p><p> cout<<"姓名: 曾立弘"<<endl;</p><p> cout<<"專業(yè): 電氣信息工程"<<endl;</p>
100、<p> cout<<"班級(jí): 1401班"<<endl;</p><p> cout<<"學(xué)號(hào): 0903140114"<<endl;</p><p> while(flag!=0) //while循環(huán) ,flag=0時(shí)終止循環(huán) </p>&l
101、t;p><b> {</b></p><p> pt1=&grad1;</p><p> pt2=&grad2;</p><p> cout<<"Please choose the type of the numbers:"<<endl;</p><p
102、> cout<<"'0'---------------------------------exit system"<<endl;</p><p> cout<<"'1'---------------------------------real number"<<endl;</p&
103、gt;<p> cout<<"'2'-------------------------------plural number"<<endl;</p><p> cin>>flag;</p><p> if(flag==1) //條件語句:如果flag=1,則進(jìn)行實(shí)數(shù)運(yùn)算 </p>
104、<p><b> {</b></p><p> cout<<"please choose the operation of the numbers:"<<endl;</p><p> cout<<"'3'---------------------------------&
105、#39;+'"<<endl;</p><p> cout<<"'4'---------------------------------'-'"<<endl;</p><p> cout<<"'5'------------------------
106、---------'*'"<<endl;</p><p> cout<<"'6'---------------------------------'/'"<<endl;</p><p> cout<<"'7'--------------
107、-------------------'++'"<<endl;</p><p> cout<<"'8'---------------------------------'--'"<<endl;</p><p> cout<<"'9'--
108、-------------------------------'++(int)'"<<endl;</p><p> cout<<"'10'--------------------------------'--(int)'"<<endl;</p><p> cout<&
109、lt;"'11'--------------------------------'root of two'"<<endl;</p><p> cout<<"'12'--------------------------------'square'"<<endl;</p&
110、gt;<p><b> cin>>w;</b></p><p><b> if(w==3)</b></p><p><b> {</b></p><p> cout<<"please enter first number: ";<
111、;/p><p> pt1->enter();</p><p> cout<<endl;</p><p> cout<<"please enter second number: ";</p><p> pt2->enter();</p><p> cout&
112、lt;<endl;</p><p> pt1->operator+(grad2);</p><p><b> }</b></p><p><b> if(w==4)</b></p><p><b> {</b></p><p> c
113、out<<"please enter first number: ";</p><p> pt1->enter();</p><p> cout<<endl;</p><p> cout<<"please enter second number: ";</p>
114、<p> pt2->enter();</p><p> cout<<endl;</p><p> pt1->operator-(grad2);</p><p><b> }</b></p><p><b> if(w==5)</b></p>
115、<p><b> {</b></p><p> cout<<"please enter first number: ";</p><p> pt1->enter();</p><p> cout<<endl;</p><p> cout<<
116、;"please enter second number: ";</p><p> pt2->enter();</p><p> cout<<endl;</p><p> pt1->operator*(grad2);</p><p><b> }</b></p&
117、gt;<p><b> if(w==6)</b></p><p><b> {</b></p><p> cout<<"please enter first number: ";</p><p> pt1->enter();</p><p&g
118、t; cout<<endl;</p><p> cout<<"please enter second number: ";</p><p> pt2->enter();</p><p> cout<<endl;</p><p> pt1->operator/(gr
119、ad2);</p><p><b> }</b></p><p><b> if(w==7)</b></p><p><b> {</b></p><p> cout<<"please enter the number: ";</
120、p><p> pt1->enter();</p><p> pt1->operator++();</p><p><b> }</b></p><p><b> if(w==8)</b></p><p><b> {</b></p
121、><p> cout<<"please enter the number: ";</p><p> pt1->enter();</p><p> pt1->operator--();</p><p><b> }</b></p><p><b
122、> if(w==9)</b></p><p><b> {</b></p><p> cout<<"please enter the number: ";</p><p> pt1->enter();</p><p><b> grad1++;
123、</b></p><p><b> }</b></p><p><b> if(w==10)</b></p><p><b> {</b></p><p> cout<<"please enter the number: "
124、;</p><p> pt1->enter();</p><p><b> grad1--;</b></p><p><b> }</b></p><p><b> if(w==11)</b></p><p><b> {<
125、;/b></p><p> cout<<"please enter the number: ";</p><p> pt1->enter();</p><p> pt1->RootOfTwo();</p><p><b> }</b></p>&l
126、t;p><b> if(w==12)</b></p><p><b> {</b></p><p> cout<<"please enter the number: ";</p><p> pt1->enter();</p><p> pt1-
127、>Square();</p><p><b> }</b></p><p> if(w!=3&&w!=4&&w!=5&&w!=6&&w!=7&&w!=8&&w!=9&&w!=10&&w!=11&&w!=12)<
128、/p><p><b> {</b></p><p> cout<<"please choose correct option!"<<endl;</p><p> } //出錯(cuò)提示</p><p><b&g
129、t; }</b></p><p> pt1=&revd1;</p><p> pt2=&revd2;</p><p> pm1=&revd1;</p><p> pm2=&revd2;</p><p> if(flag==2) //條件語句:如果flag
130、=1,則進(jìn)行實(shí)數(shù)運(yùn)算 </p><p><b> {</b></p><p> cout<<"please choose the operation of the numbers:"<<endl;</p><p> cout<<"'3'---
131、------------------------------'+'"<<endl;</p><p> cout<<"'4'---------------------------------'-'"<<endl;</p><p> cout<<"'
132、;5'---------------------------------'*'"<<endl;</p><p> cout<<"'6'---------------------------------'/'"<<endl;</p><p> cout<<
133、"'7'---------------------------------'Length'"<<endl;</p><p> cout<<"'8'---------------------------------'Square1'"<<endl;</p>&l
134、t;p> cout<<"'9'---------------------------------'Conjugate'"<<endl;</p><p> cout<<"'10'--------------------------------'Angle1'"<
135、<endl;</p><p> cout<<"'11'--------------------------------'Angle2'"<<endl;</p><p><b> cin>>v;</b></p><p><b> if(v
136、==3)</b></p><p><b> {</b></p><p> cout<<"please enter first number: ";</p><p> pt1->enter();</p><p> cout<<endl;</p&g
137、t;<p> cout<<"please enter second number: ";</p><p> pt2->enter();</p><p> cout<<endl;</p><p> pm1->operator+(revd2);</p><p><
138、;b> }</b></p><p><b> if(v==4)</b></p><p><b> {</b></p><p> cout<<"please enter first number: ";</p><p> pt1->e
139、nter();</p><p> cout<<endl;</p><p> cout<<"please enter second number: ";</p><p> pt2->enter();</p><p> cout<<endl;</p><p
140、> pm1->operator-(revd2);</p><p><b> }</b></p><p><b> if(v==5)</b></p><p><b> {</b></p><p> cout<<"please enter
141、 first number: ";</p><p> pt1->enter();</p><p> cout<<endl;</p><p> cout<<"please enter second number: ";</p><p> pt2->enter();&l
142、t;/p><p> cout<<endl;</p><p> pm1->operator*(revd2);</p><p><b> }</b></p><p><b> if(v==6)</b></p><p><b> {</b&g
143、t;</p><p> cout<<"please enter first number: ";</p><p> pt1->enter();</p><p> cout<<endl;</p><p> cout<<"please enter second nu
144、mber: ";</p><p> pt2->enter();</p><p> cout<<endl;</p><p> pm1->operator/(revd2);</p><p><b> }</b></p><p><b> if(v
145、==7)</b></p><p><b> {</b></p><p> cout<<"please enter the number: ";</p><p> pt1->enter();</p><p> cout<<endl;</p>
146、<p> pm1->Conjugate();</p><p><b> }</b></p><p><b> if(v==8)</b></p><p><b> {</b></p><p> cout<<"please ent
147、er the number: ";</p><p> pt1->enter();</p><p> cout<<endl;</p><p> pm1->Square1();</p><p><b> }</b></p><p><b> if
148、(v==9)</b></p><p><b> {</b></p><p> cout<<"please enter the number: ";</p><p> pt1->enter();</p><p> cout<<endl;</p&g
149、t;<p> pm1->Conjugate();</p><p><b> }</b></p><p><b> if(v==10)</b></p><p><b> {</b></p><p> cout<<"please
150、enter the number: ";</p><p> pt1->enter();</p><p> cout<<endl;</p><p> pm1->Angle1();</p><p><b> }</b></p><p><b>
151、if(v==11)</b></p><p><b> {</b></p><p> cout<<"please enter first number: ";</p><p> pt1->enter();</p><p> cout<<endl;<
152、;/p><p> cout<<"please enter second number: ";</p><p> pt2->enter();</p><p> cout<<endl;</p><p> pm1->Angle2(revd2);</p><p>&
153、lt;b> }</b></p><p> if(v!=3&&v!=4&&v!=5&&v!=6&&v!=7&&v!=8&&v!=9&&v!=10&&v!=11)</p><p><b> {</b></p>
154、<p> cout<<"please choose correct option!"<<endl;</p><p> } //出錯(cuò)提示 </p><p><b> }</b></p><p> if(flag
155、!=1&&flag!=2&&flag!=0)</p><p><b> {</b></p><p> cout<<"please choose correct option!"<<endl;</p><p> } /
156、/出錯(cuò)提示</p><p> if(flag!=0)</p><p><b> {</b></p><p> cout<<"\n";</p><p> cout<<"Please carry out the next operation:"<&
157、lt;endl;//繼續(xù)運(yùn)算提示 </p><p> cout<<"\n"; </p><p><b> }</b></p><p><b> }</b></p><p> cout<<"Welc
158、ome next time!"<<endl;</p><p><b> return 0;</b></p><p><b> }</b></p><p> 3.4函數(shù)調(diào)用關(guān)系圖</p><p> 3.4.1函數(shù)調(diào)用關(guān)系圖</p><p><
159、b> 如圖3.4—1所示</b></p><p><b> 第四章 調(diào)試分析</b></p><p> 4.1調(diào)試過程遇到的問題及解決方法的得出過程</p><p> 4.1.1問題及分析過程</p><p> 1. 對(duì)輸出結(jié)果的界面沒有太注意,導(dǎo)致輸出結(jié)果不是很美觀; </p>
160、;<p> 2. 對(duì)字母的拼寫錯(cuò)誤,導(dǎo)致前面定義的變量到后面編譯器不認(rèn)識(shí);對(duì)固有寫法的拼寫錯(cuò)誤,如將運(yùn)算符重載函數(shù)寫為operetor,導(dǎo)致運(yùn)算符重載不成功。</p><p> 3.對(duì)一些模塊的編寫代碼缺乏系統(tǒng)分析,主要體現(xiàn)在以下幾個(gè)方面:</p><p> ?。?)實(shí)數(shù)除法重載函數(shù)中沒有考慮分母為0的情況,增加了if條件語句討論;</p><p>
161、; ?。?)實(shí)數(shù)求二次方根函數(shù)中沒有考慮被開方數(shù)為負(fù)數(shù)的情況增加了if條件語句討論;</p><p> ?。?)求單個(gè)復(fù)數(shù)的向量角時(shí)沒有將弧度制轉(zhuǎn)化為角度制,定義了全局常變量i=3.1415927,通過弧度值除以i再乘以180將其轉(zhuǎn)化為角度值;</p><p> 求單個(gè)復(fù)數(shù)的向量角時(shí)沒有考慮象限的討論,最后加了if選擇結(jié)構(gòu)討論;</p><p> 求單個(gè)復(fù)數(shù)的向
162、量角時(shí)沒有分母(即實(shí)部real)為0的情況,增加了if條件語句討論;</p><p> 具體討論程序如下(實(shí)部為real,虛部為 imag):</p><p> float Angle1() //求單個(gè)復(fù)數(shù)的夾角度數(shù) </p><p><b> {</b></p><p><b
163、> float y;</b></p><p> cout<<"the result is: "<<endl;</p><p> y=atan((imag)/(real))/i*180;</p><p> if(real==0&&imag!=0)</p><p&g
溫馨提示
- 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ì)--復(fù)數(shù)計(jì)算器
- c++課程設(shè)計(jì)--計(jì)算器設(shè)計(jì)報(bào)告
- 計(jì)算器c++課程設(shè)計(jì)
- c++課程設(shè)計(jì)——計(jì)算器
- c++簡單計(jì)算器課程設(shè)計(jì)報(bào)告
- c++課程設(shè)計(jì)報(bào)告--簡單計(jì)算器
- c++課程設(shè)計(jì)報(bào)告--小型特殊計(jì)算器
- c++課程設(shè)計(jì)報(bào)告--小型特殊計(jì)算器
- c++課程設(shè)計(jì)報(bào)告--小型特殊計(jì)算器
- c++課程設(shè)計(jì)--分?jǐn)?shù)計(jì)算器
- c++課程設(shè)計(jì)--簡單計(jì)算器
- c++計(jì)算器課程設(shè)計(jì)--計(jì)算器程序設(shè)計(jì)
- c++課程設(shè)計(jì)--簡單計(jì)算器
- c++課程設(shè)計(jì)---分?jǐn)?shù)計(jì)算器
- c++課程設(shè)計(jì)---分?jǐn)?shù)計(jì)算器
- c++課程設(shè)計(jì)報(bào)告--小型特殊計(jì)算器 (2)
- c++課程設(shè)計(jì)報(bào)告---計(jì)算器的設(shè)計(jì)與實(shí)現(xiàn)
- c++語言畢業(yè)課程設(shè)計(jì)報(bào)告正文(計(jì)算器的實(shí)現(xiàn))
- c++設(shè)計(jì)計(jì)算器
- c課程設(shè)計(jì)報(bào)告——多功能計(jì)算器
評(píng)論
0/150
提交評(píng)論