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