看板 NTUBIME104HW 關於我們 聯絡資訊
class Fractions{ public: Fractions(){ numerator = 1; denominator = 1; }//建構子 初始化分子分母的數值 int numerator; int denominator; void sum(Fractions &a, Fractions &b){ int tmp, x, y, GCD; int D, N; x = a.denominator; y = b.denominator; for(;x&&y;x%=y,tmp=x,x=y,y=tmp); GCD = x > 0 ? x : y; //找出最大公因數 D = a.denominator * b.denominator / GCD; N = a.numerator * D / a.denominator + b.numerator * D / b.denominator; x = D; y = N; for(;x&&y;x%=y,tmp=x,x=y,y=tmp); GCD = x > 0 ? x : y; //找出最大公因數 (輾轉相除法) a.denominator = D / GCD; a.numerator = N / GCD; //對最後的結果約分 } void display(void){ try{ throw denominator; } catch(int e){ if(e) cout << numerator << "/" << denominator << endl; } //印出分數 } }; 只放加法部分 其他三種運算還是要大家想一下 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.70.209.87
roymustang :請在參考程式碼的時候盡量低調 然後不要在電腦教室 01/01 00:45
roymustang :看被助教發現OAO 01/01 00:45
ables :咦? 01/01 00:47
ables :try catch用的不對 01/01 00:52
roymustang :其實try catch 是亂寫的啊zz 那裡沒刪掉... 01/01 01:11