版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c++課程設(shè)計---分數(shù)計算器
- c++課程設(shè)計---分數(shù)計算器
- 計算器c++課程設(shè)計
- c++課程設(shè)計——計算器
- c++課程設(shè)計--復(fù)數(shù)計算器
- c++課程設(shè)計--簡單計算器
- c++計算器課程設(shè)計--計算器程序設(shè)計
- c++課程設(shè)計--簡單計算器
- c++課程設(shè)計--計算器設(shè)計報告
- c++課程設(shè)計報告--簡單計算器
- c++簡單計算器課程設(shè)計報告
- c++課程設(shè)計報告--復(fù)數(shù)計算器
- c++課程設(shè)計報告--小型特殊計算器
- c++課程設(shè)計報告--小型特殊計算器
- c++課程設(shè)計報告--小型特殊計算器
- c++課程設(shè)計報告--小型特殊計算器 (2)
- c++課程設(shè)計報告---計算器的設(shè)計與實現(xiàn)
- c++設(shè)計計算器
- c++語言畢業(yè)課程設(shè)計報告正文(計算器的實現(xiàn))
- c語言課程設(shè)計--計算器
評論
0/150
提交評論