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

下載本文檔

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

文檔簡介

1、<p><b>  C++課程設(shè)計報告</b></p><p>  題目:分數(shù)計算器 </p><p><b>  學(xué)號: </b></p><p><b>  姓名: </b></p><p><b>  班級:指導(dǎo)教師: &

2、lt;/b></p><p>  提交日期:2011-9-15 </p><p><b>  程序功能簡介</b></p><p>  分數(shù)計算及測試程序,具有對輸入的運算進行“+-*/”的功能。</p><p>  需要其他題目請聯(lián)系QQ2496031764</p><p><

3、;b>  課程設(shè)計要求</b></p><p>  將主程序設(shè)計成一個分數(shù)計算器。</p><p>  可完成“+-*/’等基本運算。</p><p>  可將分數(shù)化為十進制小數(shù)和帶分數(shù)。</p><p>  可執(zhí)行“+-*/”(含括號)四則運算。</p><p><b>  設(shè)計思路<

4、;/b></p><p>  利用程序進行加法 減法 乘法 除法四種基本運算,并約分。主要用到的算法:最小公倍數(shù),最大公約數(shù),交換。加法的原理:結(jié)果的分子 是兩個數(shù)的分子分母交換相乘相加的和,結(jié)果的分母是 兩分母的最小公倍數(shù)。減法的原理與加法類似。乘法的原理:分母相乘,分子相乘。除法的原理:第二個分數(shù)上下交換后,使用乘法原理。約分的原理:分子分母分別除以分子分母的最大公約數(shù)得到的數(shù)組合成新的分子分母。<

5、;/p><p><b>  關(guān)鍵源代碼注解</b></p><p>  /*#ifndef _TGR_FRACTIONS_H</p><p>  #define _TGR_FRACTIONS_H*/</p><p>  #include <iostream.h></p><p>  #in

6、clude <conio.h></p><p>  #include <stdlib.h></p><p>  #include <math.h></p><p>  //#include <bool.h></p><p>  #include <string.h></p>

7、;<p>  class fraction //分數(shù)類定義</p><p><b>  {</b></p><p><b>  public:</b></p><p>  fraction();//constructors</p><p>  fraction(int initn,

8、 int initd);</p><p>  //accessors</p><p>  int numerator() const; //取分子,const成員函數(shù),不能修改數(shù)據(jù)成員</p><p>  int denominator() const; //取分母</p><p>  double decimal() const; /

9、/將分數(shù)轉(zhuǎn)換為對應(yīng)的小數(shù)</p><p>  fraction absval() const; //分數(shù)的絕對值</p><p>  //modifiers</p><p>  void setnum(int newnum); //設(shè)置分子</p><p>  void setden(int newden); //設(shè)置分母</p&g

10、t;<p>  void simplify(); //約分</p><p>  void recip(); //分子分母轉(zhuǎn)置</p><p>  const fraction & operator+= (int rhs);</p><p><b>  private:</b></

11、p><p><b>  int n;</b></p><p><b>  int d;</b></p><p><b>  };</b></p><p>  //free (nonmember) functions</p><p>  //miscellan

12、y</p><p>  void simple(); //"簡單計算"函數(shù)</p><p>  void turn(); //"轉(zhuǎn)換"函數(shù)</p><p>  void test(); //測試函數(shù)</p><p>  voi

13、d complex(); //"混合運算"函數(shù)</p><p>  void exam(); //"隨機測試題"函數(shù)</p><p>  int GCF(int x, int y); //求x,y的最大公因子</p><p>  //addition operators&

14、lt;/p><p>  fraction operator+ (const fraction &lhs, const fraction &rhs);</p><p>  fraction operator+ (const fraction &lhs, int rhs);</p><p>  //subtraction operators</

15、p><p>  fraction operator- (const fraction &lhs, const fraction &rhs);</p><p>  fraction operator- (const fraction &lhs, int rhs);</p><p>  //multiplication operators</p

16、><p>  fraction operator* (const fraction &lhs, const fraction &rhs);</p><p>  fraction operator* (const fraction &lhs, int rhs);</p><p>  //division operators</p>&

17、lt;p>  fraction operator/ (const fraction &lhs, const fraction &rhs);</p><p>  fraction operator/ (const fraction &lhs, int rhs);</p><p>  //power operator</p><p>  f

18、raction operator^ (const fraction &base, int exp); //^(冪)運算符重載</p><p>  //comparison operators</p><p>  bool operator== (const fraction &lhs, const fraction &rhs);</p><p&g

19、t;  bool operator!= (const fraction &lhs, const fraction &rhs);</p><p>  bool operator>= (const fraction &lhs, const fraction &rhs);</p><p>  bool operator<= (const fractio

20、n &lhs, const fraction &rhs);</p><p>  bool operator> (const fraction &lhs, const fraction &rhs);</p><p>  bool operator< (const fraction &lhs, const fraction &rh

21、s);</p><p>  bool operator== (const fraction &lhs, int rhs);</p><p>  bool operator!= (const fraction &lhs, int rhs);</p><p>  bool operator>= (const fraction &lhs, i

22、nt rhs);</p><p>  bool operator<= (const fraction &lhs, int rhs);</p><p>  bool operator> (const fraction &lhs, int rhs);</p><p>  bool operator< (const fraction

23、&lhs, int rhs);</p><p>  // I/O operators/functions</p><p>  ostream & operator<< (ostream &os, const fraction &f); // 輸出運算符重載</p><p>  istream & operator&

24、gt;> (istream &is, fraction &f); // 輸入運算符重載</p><p>  void PrintAsMixed(ostream &os, const fraction &f); // 輸出帶分數(shù)</p><p>  /*#endif*/</p><p>  /* fraction.cpp</

25、p><p>  Fractions class - implementation file--分數(shù)類執(zhí)行文件開始*/</p><p>  //#include "fraction.h"</p><p>  fraction::fraction() : n(0), d(1) {} ; //缺省構(gòu)造函數(shù)(=0/1)</p><p&

26、gt;  fraction::fraction(int initn, int initd) : n(initn), d(initd) {};</p><p>  int fraction::numerator() const //取分子</p><p>  {return n;}</p><p>  int fraction::denominator() c

27、onst //取分母</p><p>  {return d;</p><p><b>  }</b></p><p>  double fraction::decimal() const //分數(shù)轉(zhuǎn)換小數(shù)</p><p>  {return double(n) / double(d);</p>

28、<p><b>  }</b></p><p>  fraction fraction::absval() const //取分數(shù)絕對值</p><p>  {fraction returnValue(abs(n), abs(d)); //通過構(gòu)造函數(shù)取分母分子絕對值</p><p>  return returnValu

29、e;</p><p><b>  }</b></p><p>  void fraction::setnum(int newnum) //設(shè)置分子的值</p><p>  {n = newnum;</p><p><b>  }</b></p><p>  void

30、 fraction::setden(int newden) //設(shè)置分母的值</p><p>  {if(newden != 0) //分母非零時設(shè)置</p><p>  d = newden;</p><p>  else //若分母為零,顯示錯誤信息并退出</p&

31、gt;<p>  {cout << "錯誤:除數(shù)為零?。。n"</p><p>  << "按任意鍵終止!";</p><p>  getch(); </p><p>  abort();

32、//退出</p><p><b>  }</b></p><p><b>  }</b></p><p>  void fraction::simplify() //分數(shù)約分</p><p><b>  {</b></p><p>

33、;  int r = GCF(n, d);</p><p><b>  n /= r;</b></p><p><b>  d /= r;</b></p><p><b>  }</b></p><p>  void fraction::recip() /

34、/分子分母交換</p><p><b>  {</b></p><p>  int temp = n;</p><p><b>  n = d;</b></p><p><b>  d = temp;</b></p><p><b>  }&l

35、t;/b></p><p>  const fraction & fraction::operator+= (int rhs) //重載"+="</p><p><b>  {</b></p><p>  fraction newrhs(rhs, 1); //將作為參

36、數(shù)的整數(shù)RHS轉(zhuǎn)換為分數(shù)類的對象</p><p>  return (*this+newrhs); //</p><p><b>  }</b></p><p>  int GCF(int x, int y) //輾轉(zhuǎn)相除求x,y的最大公約數(shù)</p><p><b>  {

37、</b></p><p>  int r = x%y;</p><p><b>  if(r==0)</b></p><p><b>  return y;</b></p><p><b>  else</b></p><p>  retur

38、n GCF(y, r);</p><p><b>  }</b></p><p>  fraction operator+ (const fraction &lhs, const fraction &rhs) //重載"+",完成兩分數(shù)相加情況</p><p><b>  {</b>&

39、lt;/p><p>  fraction sum; //定義分數(shù)類對象,通過兩參數(shù)對象對其賦值</p><p>  int newnum = (lhs.numerator() * rhs.denominator())</p><p>  +(rhs.numerator() * lhs.denominator());//得到相加后的分子</p

40、><p>  int newden = (lhs.denominator() * rhs.denominator()); //得到相加后的分母</p><p>  sum.setnum(newnum); //設(shè)置分子</p><p>  sum.setden(newden); //設(shè)置分母</p><p&g

41、t;  sum.simplify(); //分數(shù)約分</p><p>  return sum;</p><p><b>  }</b></p><p>  fraction operator+ (const fraction &lhs, int rhs) //重載"+"分數(shù)與整數(shù)

42、相加</p><p><b>  {</b></p><p>  fraction newrhs(rhs, 1); //將RHS轉(zhuǎn)換為分數(shù)類對象</p><p>  return lhs + newrhs;</p><p><b>  }</b></p&

43、gt;<p>  fraction operator- (const fraction &lhs, const fraction &rhs)//重載"-"完成兩分數(shù)相減</p><p><b>  {</b></p><p>  fraction newrhs = rhs;</p><p>  

44、newrhs.setnum(-rhs.numerator()); //設(shè)置分母為其相反數(shù)</p><p>  return lhs + newrhs; //利用"+"的重載</p><p><b>  }</b></p><p>  fraction operator- (cons

45、t fraction &lhs, int rhs) //重載"-"完成分數(shù)與整數(shù)的相減</p><p><b>  {</b></p><p>  fraction newrhs(rhs, -1);</p><p>  return lhs + newrhs; //利用&qu

46、ot;+"的重載</p><p><b>  }</b></p><p>  fraction operator* (const fraction &lhs, const fraction &rhs) //重載"*"完成兩分數(shù)相乘</p><p><b>  {</b><

47、/p><p>  fraction product;</p><p>  int newnum = lhs.numerator() * rhs.numerator(); //分子相乘</p><p>  int newden = lhs.denominator() * rhs.denominator(); //分母相乘</p>

48、<p>  product.setnum(newnum); //設(shè)置分子</p><p>  product.setden(newden); //設(shè)置分母</p><p>  product.simplify();

49、 //分數(shù)約分</p><p>  return product;</p><p><b>  }</b></p><p>  fraction operator* (const fraction &lhs, int rhs) //重載"*"完成分數(shù)與整數(shù)的相乘 </p>

50、<p><b>  {</b></p><p>  fraction prod(lhs.numerator() * rhs, lhs.denominator()); //通過構(gòu)造函數(shù)完成賦值</p><p>  prod.simplify(); //分數(shù)約分</p>

51、<p>  return prod;</p><p><b>  }</b></p><p>  fraction operator/ (const fraction &lhs, const fraction &rhs) //重載"/"完成兩分數(shù)相除</p><p><b>  {&l

52、t;/b></p><p>  if(rhs == 0) //若分母為零,顯示錯誤信息并退出</p><p><b>  {</b></p><p>  cout << "Error: Division by zero attempted!\n&quo

53、t;</p><p>  << "Press any key to terminate";</p><p><b>  getch();</b></p><p>  abort(); //退出</p><p><b&g

54、t;  }</b></p><p>  fraction newrhs = rhs;</p><p>  newrhs.recip(); //將作分母的分數(shù)倒置</p><p>  return lhs * newrhs; //利用分數(shù)乘法</p><

55、p><b>  }</b></p><p>  fraction operator/ (const fraction &lhs, int rhs) //重載"/"完成分數(shù)與整數(shù)的相除 </p><p><b>  {</b></p><p>  if(rhs == 0)

56、 //若分母為零,顯示錯誤信息并退出</p><p><b>  {</b></p><p>  cout << "錯誤:除數(shù)為零!?。n"</p><p>  << "按任意鍵終止!";</p><p><b&

57、gt;  getch();</b></p><p><b>  abort();</b></p><p><b>  }</b></p><p>  fraction quot(lhs.numerator(), lhs.denominator() * rhs); //通過構(gòu)造函數(shù)完成賦值</p>

58、<p>  quot.simplify(); //分數(shù)約分</p><p>  return quot;</p><p><b>  }</b></p><p>  fraction operator^ (const fraction &base, int

59、 exp)</p><p><b>  {</b></p><p>  fraction returnValue;</p><p>  returnValue.setnum(pow(base.numerator(), exp)); //通過函數(shù)完成</p><p>  returnValue.setden

60、(pow(base.denominator(), exp)); //分子分母冪乘</p><p>  return returnValue;</p><p><b>  }</b></p><p>  bool operator== (const fraction &lhs, const fraction &rhs)

61、 //重載"=="判斷兩分數(shù)是否相等</p><p><b>  {</b></p><p>  return lhs.decimal() == rhs.decimal();</p><p><b>  }</b></p><p>  bool operator!= (con

62、st fraction &lhs, const fraction &rhs) //重載"!="判斷兩分數(shù)是否不等</p><p><b>  {</b></p><p>  return lhs.decimal() != rhs.decimal();</p><p><b>  }</b&

63、gt;</p><p>  bool operator>= (const fraction &lhs, const fraction &rhs) //重載">="判斷前分數(shù)是否大于等//于后分數(shù)</p><p><b>  {</b></p><p>  return lhs.decimal()

64、 >= rhs.decimal();</p><p><b>  }</b></p><p>  bool operator<= (const fraction &lhs, const fraction &rhs) //重載"<="判斷前分數(shù)是否小于等//于后分數(shù)</p><p><

65、b>  {</b></p><p>  return lhs.decimal() <= rhs.decimal();</p><p><b>  }</b></p><p>  bool operator> (const fraction &lhs, const fraction &rhs)

66、 //重載">"判斷前分數(shù)是否大于//后分數(shù)</p><p><b>  {</b></p><p>  return lhs.decimal() > rhs.decimal();</p><p><b>  }</b></p><p>  bool operator

67、< (const fraction &lhs, const fraction &rhs) //重載"<"判斷前分數(shù)是否小于//后分數(shù)</p><p><b>  {</b></p><p>  return lhs.decimal() < rhs.decimal();</p><p>

68、;<b>  }</b></p><p>  bool operator== (const fraction &lhs, int rhs) //重載"=="判斷分數(shù)與整數(shù)是否相等</p><p><b>  {</b></p><p>  return lhs.decimal(

69、) == rhs;</p><p><b>  }</b></p><p>  bool operator!= (const fraction &lhs, int rhs) //重載"!="判斷分數(shù)與整數(shù)是否不等</p><p><b>  {</b></p><

70、;p>  return lhs.decimal() != rhs;</p><p><b>  }</b></p><p>  bool operator>= (const fraction &lhs, int rhs) //重載">="前分數(shù)是否大于等于整數(shù)</p><p><

71、b>  {</b></p><p>  return lhs.decimal() >= rhs;</p><p><b>  }</b></p><p>  bool operator<= (const fraction &lhs, int rhs) //重載"<="

72、前分數(shù)是否小于等于整數(shù)</p><p><b>  {</b></p><p>  return lhs.decimal() <= rhs;</p><p><b>  }</b></p><p>  bool operator> (const fraction &lhs, in

73、t rhs) //重載">"前分數(shù)是否大于整數(shù)</p><p><b>  {</b></p><p>  return lhs.decimal() > rhs;</p><p><b>  }</b></p><p>  bool operator&

74、lt; (const fraction &lhs, int rhs) //重載"<"前分數(shù)是否小于整數(shù)</p><p><b>  {</b></p><p>  return lhs.decimal() == rhs;</p><p><b>  }</b></

75、p><p>  ostream & operator<< (ostream &os, const fraction &f) //重載輸出運算符</p><p><b>  {</b></p><p>  fraction temp = f.absval();</p><p>  int

76、numer = f.numerator();</p><p>  int denom = f.denominator();</p><p>  if((!((numer > 0 && denom > 0) </p><p>  || (numer < 0 && denom < 0))) </p&g

77、t;<p>  && f != 0) </p><p>  os << '-'; //分子分母不同號就輸出"-"</p><p>  if(temp.numerator() == 0 || temp.denomina

78、tor() == 1)</p><p>  os << temp.numerator(); // 分子為0或分母為1時就輸出分子</p><p><b>  else</b></p><p>  os << temp.numerator() << '/' <&

79、lt; temp.denominator();//其他情況輸出此分數(shù)</p><p>  return os; //</p><p><b>  }</b></p><p>  istream & operator>> (istream &is, fra

80、ction &f) //is:輸入流,f:待輸入的分數(shù)</p><p><b>  {</b></p><p>  int newnum, newden;</p><p>  char slash = ' ';</p><p><b>  do</b></p>

81、<p><b>  {</b></p><p>  is >> newnum >> slash >> newden; //</p><p>  } while(slash != '/');</p><p>  f.setnum(newnum);</p>

82、<p>  f.setden(newden);</p><p>  return is; //</p><p><b>  }</b></p><p>  //將分數(shù)f按整數(shù),真分數(shù)格式輸出到流os</p><p>  void PrintAs

83、Mixed(ostream &os, const fraction &f)</p><p><b>  {</b></p><p>  int wholePart = f.numerator() / f.denominator();//wholepart獲得整數(shù)部分</p><p>  fraction fracPart = f

84、 - wholePart; //fracpart獲得真分數(shù)部分</p><p>  cout <<"帶分數(shù)為:";</p><p>  if(wholePart != 0)</p><p>  cout << wholePart << " ";

85、 //輸出整數(shù)部分</p><p>  if(fracPart != 0)</p><p>  cout << fracPart; //輸出真分數(shù)部分</p><p><b>  }</b></p><p>  //準備工作結(jié)束,下面開始主函數(shù)。<

86、;/p><p>  void main(){</p><p>  int choice;</p><p><b>  char CLS;</b></p><p>  cout<<"是否清屏?(Y/N)\n";</p><p><b>  cin>>

87、CLS;</b></p><p>  if(CLS=='Y'||CLS=='y')system("cls");</p><p>  //getch();</p><p>  cout<<" 歡迎使用分數(shù)計算器!\n";</

88、p><p>  cout<<" @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n";</p><p>  cout<<" @@

89、 @@\n";</p><p>  cout<<" @@ <1>簡單計算 @@\n"; </p><p>  cout<<" @@

90、 @@\n";</p><p>  cout<<" @@ <2>分數(shù)化為十進制小數(shù)和帶分數(shù) @@\n";</p><p>  cout<<" @@

91、 @@\n";</p><p>  cout<<" @@ <3>分數(shù)測試 @@\n";</p><p>  cout<<"

92、 @@ @@\n";</p><p>  cout<<" @@ <4>分數(shù)混合運算 @@\n";</p><p> 

93、 cout<<" @@ @@\n";</p><p>  cout<<" @@ <5>隨機測試題 @@\n";&

94、lt;/p><p>  cout<<" @@ @@\n";</p><p>  cout<<" @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

95、@@@@@@@@@@\n";</p><p>  cout<<"請選擇:\n"; //選擇功能</p><p>  cin>>choice;</p><p>  if(choice>6||choice<1)</p><p>  {cout&

96、lt;<"輸入無效,請重新選擇:\n";</p><p>  main(); //回到主菜單</p><p><b>  }</b></p><p><b>  else{</b></p><p>  switch(c

97、hoice){ //進入函數(shù)</p><p>  case 1: simple();break;</p><p>  case 2: turn();break;</p><p>  case 3: test();break;</p><p>  case 4: complex();break;</p>

98、;<p>  case 5: exam();break;</p><p><b>  }</b></p><p><b>  //main();</b></p><p><b>  }</b></p><p><b>  }</b></

99、p><p>  //----------------------------------------------------------------</p><p>  void simple(){ //"簡單計算"函數(shù)</p><p>  fraction f1;</p><p>

100、  fraction f2;</p><p>  fraction sum;</p><p>  char fuhao,yn;</p><p>  int f3,kind;</p><p>  choose: cout<<" <1>分數(shù)與分數(shù)\n";</p><

101、p>  cout<<" <2>分數(shù)與整數(shù)\n";</p><p>  cout<<" <3>返回\n";</p><p>  cout<<"請選擇:\n";</p><p>  cin>>kind;

102、</p><p>  if(kind==1) //分數(shù)之間計算</p><p>  {cout<<"請輸入第一個分數(shù):"; //輸入數(shù)據(jù)</p><p><b>  cin>>f1;</b></p><p>

103、  cout<<"\n請輸入第二個分數(shù):";</p><p><b>  cin>>f2;</b></p><p>  cout<<"\n請輸入運算符:";</p><p>  cin>>fuhao;</p><p>  f1.sim

104、plify(); //分數(shù)約分</p><p>  f2.simplify();</p><p>  switch(fuhao){ //進入計算</p><p>  case '+':cout<<"\nsum="<<f1+f2&

105、lt;<endl;break;</p><p>  case '-':cout<<"\nsum="<<f1-f2<<endl;break;</p><p>  case '*':cout<<"\nsum="<<f1*f2<<endl;brea

106、k;</p><p>  case '/':cout<<"\nsum="<<f1/f2<<endl;break;</p><p><b>  }</b></p><p><b>  }</b></p><p>  else if

107、(kind==2){ //分數(shù)與整數(shù)之間運算</p><p>  cout<<"請輸入一個分數(shù):";</p><p><b>  cin>>f1;</b></p><p>  cout<<"\n請輸入一個整數(shù):";</

108、p><p><b>  cin>>f3;</b></p><p>  cout<<"\n請輸入運算符:";</p><p>  cin>>fuhao;</p><p>  f1.simplify();</p><p>  switch(fuhao

109、){ //進入計算</p><p>  case '+':cout<<"\nsum="<<f1+f3<<endl;break;</p><p>  case '-':cout<<"\nsum="<<f1-f3<&

110、lt;endl;break;</p><p>  case '*':cout<<"\nsum="<<f1*f3<<endl;break;</p><p>  case '/':cout<<"\nsum="<<f1/f3<<endl;break;&l

111、t;/p><p>  //case '^':cout<<"\nsum="<< f1 ^ f3 <<endl;break;</p><p><b>  }</b></p><p><b>  }</b></p><p>  else

112、if(kind==3)main(); //返回</p><p>  else {cout<<"輸入錯誤!請重新選擇:\n";goto choose;}</p><p><b>  getch();</b></p><p>  cout<<endl;</p><p

113、>  cout<<"是否繼續(xù)?(Y/N)\n"; //詢問繼續(xù)與否</p><p><b>  cin>>yn;</b></p><p>  if(yn=='Y'||yn=='y')simple();</p><p>  else main();

114、 //返回菜單</p><p><b>  }</b></p><p>  //------------------------------------------------------------</p><p>  void turn(){

115、 //"轉(zhuǎn)換"函數(shù)</p><p>  fraction f1;</p><p>  fraction Result;</p><p><b>  char yn;</b></p><p>  cout<<"請輸入一個分數(shù):\n";</p><p

116、><b>  cin>>f1;</b></p><p>  cout<<"對應(yīng)小數(shù)為:"<<f1.decimal()<<endl;//使用"分轉(zhuǎn)小"函數(shù)</p><p>  if(f1>1) //輸出帶分

117、數(shù)</p><p>  PrintAsMixed(cout,f1);</p><p>  else cout<<"此分數(shù)為真分數(shù)!"<<endl;</p><p><b>  getch();</b></p><p>  cout<<endl;</p>

118、<p>  cout<<"是否繼續(xù)?(Y/N)\n";</p><p><b>  cin>>yn;</b></p><p>  if(yn=='Y'||yn=='y')turn();</p><p>  else main();</p>&l

119、t;p><b>  }</b></p><p>  //-----------------------------------------------------------------</p><p>  void test(){ //測試函數(shù)</p><p><b> 

120、 char yn;</b></p><p>  fraction f1; </p><p>  fraction f2; //定義兩個分數(shù)f1,f2</p><p><b>  int i;</b></p><p>  // clrscr(); //利用>&g

121、t;重載輸入f1,f2</p><p>  cout << "第一個分數(shù):\n";</p><p>  cin >> f1;</p><p>  cout << "\n第二個分數(shù):\n";</p><p>  cin >> f2;</p>&

122、lt;p>  cout << "\n輸入一個整數(shù):\n";</p><p><b>  cin >> i;</b></p><p>  f1.simplify();</p><p>  f2.simplify();</p><p>  cout<<"

123、對兩分數(shù)進行+,-,*,/運算\n"; </p><p>  fraction sum = f1 + f2; </p><p>  fraction diff = f1 - f2;</p><p>  fraction prod = f1 * f2;</p><p>  fraction quot;</p&g

124、t;<p>  if(f2 != 0)</p><p>  quot = f1 / f2;</p><p>  cout<<"輸出小數(shù)運算結(jié)果\n";</p><p>  cout << f1 << " 十進制為: " << f1.decimal() <&l

125、t; '\n';</p><p>  cout << f2 << " 十進制為: " << f2.decimal() << "\n\n";</p><p>  cout<<"利用<<重載輸出運算結(jié)果\n";</p><p&

126、gt;  cout << f1 << " + " << f2 << " = " << sum << " (" << sum.decimal() << ")\n";</p><p>  cout << f1 <<

127、" - " << f2 << " = " << diff << " (" << diff.decimal() << ")\n";</p><p>  cout << f1 << " * " << f2 <

128、;< " = " << prod << " (" << prod.decimal() << ")\n";</p><p>  cout << f1 << " / " << f2 << " = ";</p>

129、;<p>  if(f2 != 0)</p><p>  cout << quot << " (" << quot.decimal() << ")\n\n";</p><p><b>  else</b></p><p>  cout <

130、< "無意義!??!\n\n";</p><p>  cout<<"進行分數(shù)(f1)和整數(shù)(i)的四則運算并輸出結(jié)果\n"; </p><p>  cout << f1 << " + " << i << " = "

131、 << f1 + i << "\n";</p><p>  cout << f1 << " - " << i << " = " << f1 - i << "\n";</p><p>  cout << f

132、1 << " * " << i << " = " << f1 * i << "\n";</p><p>  cout << f1 << " / " << i << " = ";</p><

133、p>  if(i != 0)</p><p>  cout << f1 / i << "\n\n";</p><p><b>  else</b></p><p>  cout << "無意義?。。n\n";</p><p>  cout

134、 << "Boolean operator tests (1 = true, 0 = false)\n";</p><p>  cout << f1 << " == " << f2 << ": " << (f1 == f2) << '\n';</p&

135、gt;<p>  cout << f1 << " != " << f2 << ": " << (f1 != f2) << '\n';</p><p>  cout << f1 << " >= " << f2 &l

136、t;< ": " << (f1 >= f2) << '\n';</p><p>  cout << f1 << " <= " << f2 << ": " << (f1 <= f2) << '\n';<

137、;/p><p>  cout << f1 << " > " << f2 << ": " << (f1 > f2) << '\n';</p><p>  cout << f1 << " < " <

138、< f2 << ": " << (f1 < f2) << "\n\n";</p><p>  double dec1 = f1.decimal();</p><p>  double dec2 = f2.decimal();</p><p>  if(dec1 > 1 &

139、amp;& (int(dec1) != dec1))</p><p><b>  {</b></p><p>  cout << f1 << " 代分數(shù)為: ";</p><p>  PrintAsMixed(cout, f1);</p><p>  cout <

140、< '\n';</p><p><b>  }</b></p><p>  if(dec2 > 1 && (int(dec2) != dec2))</p><p><b>  {</b></p><p>  cout << f2 <<

141、; " 代分數(shù)為: ";</p><p>  PrintAsMixed(cout, f2);</p><p><b>  }</b></p><p>  cout<<"分數(shù)測試完畢!\n";</p><p><b>  getch();</b>&l

142、t;/p><p>  //return 0;</p><p>  cout<<endl;</p><p>  cout<<"是否繼續(xù)?(Y/N)\n";</p><p><b>  cin>>yn;</b></p><p>  if(yn==&#

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論