C 實現有理數類加減乘除

2021-08-20 00:07:04 字數 1195 閱讀 8358

c++上機題,題目如下:

設計乙個有理數類,要求如下:

有理數有整數型別的分子、分母組成,通過運算子過載,完成有理數的加、減、乘、除運算,運算結果要求為最簡分數,即分子分母沒有公約數。在主程式中測試類與方法。

不多廢話,完整**我已經貼出來了,注釋也很詳細,唯一要注意的就是分母不能為0和第二個有理數的分子也不能為0(因為除數不能為0)。希望對初學c++,碰巧有類似練習的童鞋有幫助@_@

#include #include //numerator分子  denominator分母

using namespace std;

class rational //有參建構函式

friend rational operator+(const rational &r1,const rational &r2);//相加

friend rational operator-(const rational &r1,const rational &r2);//相減

friend rational operator/(const rational &r1,const rational &r2);//相除

friend rational operator*(const rational &r1,const rational &r2);//相乘

void simplify();//對有理數進行化簡

void display(); //顯示結果

private :

double num;

double den;

};rational operator+(const rational &r1,const rational &r2)

rational operator-(const rational &r1,const rational &r2)

rational operator/(const rational &r1,const rational &r2)

}rational operator*(const rational &r1,const rational &r2)

}void rational::simplify()

den/=j;

num/=j;

if(den<0)

}void rational::display() else

C 實現有理數簡單的算術

題目描述 輸入兩個分數形式的有理數,分別計算出二者 加法 減法 乘法 除法 的結果。示例 實現 include include include include using namespace std int gys int a,int b 求最大公約數 return b string itoa in...

C 位運算實現加減乘除

近日複習劍指offer,看到了當時寫第65題題實現了位運算的加減乘除法,特此記錄 int add int num1,int num2 return num1 int add2 int num1,int num2 2.一種減法運算 intnegtive int num1,int num2 3.一種乘法...

大整數類加減乘除的簡單實現 C

總時間限制 1000ms 記憶體限制 65536kb 描述 給出兩個正整數以及四則運算操作符 求運算結果。輸入第一行 正整數a,長度不超過100 第二行 四則運算符o,o是 中的某乙個 第三行 正整數b,長度不超過100 保證輸入不含多餘的空格或其它字元 輸出一行 表示式 a o b 的值。補充說明...