2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩53頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論