資源描述:
《c++【實現(xiàn)分數(shù)重載 】【實現(xiàn)分數(shù)的加減乘除】重載函數(shù) 運算符重載》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、昆明理工大學(xué)理學(xué)院信息與計算科學(xué)專業(yè)操作性實驗報告年級:2010級姓名:學(xué)號:指導(dǎo)教師:實驗課程名稱:開課實驗室:理學(xué)院機房實驗成績:學(xué)風(fēng)(5)觀察能力(15)操作能力(30)調(diào)試能力(50)其它總分實驗內(nèi)容:1.實驗/作業(yè)題目:寫一個分數(shù)的程序,應(yīng)用重載函數(shù),使運算符重載,并實現(xiàn)分數(shù)的加減乘除。對1~100分內(nèi)各個分數(shù)段給出ABCD的評價2.實驗/作業(yè)課時:2個課時3.實驗過程(包括實驗環(huán)境、實驗內(nèi)容的描述、完成實驗要求的知識或技能):先寫程序,再寫流程圖。#includeusingnamespacestd;classfrac
2、tion{第16頁private:intabove;//分子intbelow;//分母voidreduction();//約分fractionmakeCommond(fraction);//通分public:fraction(inta=0,intb=1){//構(gòu)造函數(shù)above=a;below=b;}fractionoperator+(fraction);//兩分數(shù)相加fractionoperator-(fraction);//兩分數(shù)相減fractionoperator*(fraction);//兩分數(shù)相乘fractionoperator/(fra
3、ction);//兩分數(shù)相除voiddisplay();//顯示分數(shù)voidinput();//輸入分數(shù)};第16頁//***********分數(shù)的約分*********//voidfraction::reduction(){inti,comdiv,small,max;if(above1;i--){第16頁if(small%i==0&max%i==0)break;}comdiv=i;//最大公約數(shù)if(i
4、!=0){above/=i;below/=i;}}//*************分數(shù)的通分*************//fractionfraction::makeCommond(fractionfrac){intb1=below,b2=frac.below,m,s;if(b1>b2)第16頁{m=b1%b2;s=b2;}else{m=b2%b1;s=b1;}while(m>0){intres=s%m;s=m,m=res;}intsmall=(b1*b2)/s;第16頁above=above*(small/below);frac.above=fra
5、c.above*(small/frac.below);below=small;frac.below=small;returnfrac;}//***************分數(shù)的相加*************//fractionfraction::operator+(fractionfr){fractionf3;f3.above=above*fr.below+fr.above*below;第16頁f3.below=below*fr.below;f3.reduction();returnf3;}//*********************分數(shù)的相減*
6、**************//fractionfraction::operator-(fractionfr){fractionf3;f3.above=above*fr.below-fr.above*below;f3.below=below*fr.below;f3.reduction();第16頁returnf3;}//*******************分數(shù)的相乘****************//fractionfraction::operator*(fractionfr){fractionf3;f3.above=above*fr.above
7、;f3.below=below*fr.below;f3.reduction();returnf3;}//******************分數(shù)的相除***********//第16頁fractionfraction::operator/(fractionfr){fractionf3;f3.above=above*fr.below;f3.below=below*fr.above;f3.reduction();returnf3;}//*********************分數(shù)的輸出*************//voidfraction::disp
8、lay(){第16頁cout<