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 的值。補充說明...