我們做了乙個c++的課程設計的主要內容,認真做的話可以從**裡面學到很多哦
【問題描述】
有理數是乙個可以化為乙個分數的數,在c++中,並沒有預先定義有理數,請定義乙個有理數類,將有理數的分子和分母分別存放在兩個整型變數中。對有理數的各種操作都可以用過載運算子來實現。
【功能要求】
(1)定義並實現乙個有理數類。
(2)輸入/輸出:過載《和提取》運算子,使得對有理數可以直接輸入輸出。
設有理數輸入格式為:分子 分母
有理數輸出格式為:分子/分母
(3)計算功能:通過過載運算子+、-、、/對有理數進行算術運算,通過過載運算子==實現判定兩個有理數是否相等。還要定義乙個將有理數轉換為實數的函式。
(4)化簡功能:寫乙個優化函式使儲存的有理數分子和分母之間沒有公約數(除去1以外)。
(5)選單功能:每種功能的操作都是在選單中進行相應選擇。*
#include#include//標頭檔案
#includeusing namespace std;
class rational //定義乙個有理數類
;void equeal(rational &r1, rational &r2)
void printreal(rational &r) //輸出實數
rational::rational(int num, int denom)
//標準化
void rational::normalize()
numerator /= a;
denominator /= a;
}rational rational::normalize1() // 增加乙個分數化簡函式
rational r(numerator / a, denominator / a);
return r;
}rational operator+(rational r1, rational r2) //過載加法運算子,分數的加法
rational operator-(rational r1, rational r2) //過載減法運算子,函式結構和加法一致,返回加法運算
rational operator*(rational r1, rational r2) //過載乘法運算子,呼叫初始化類是化簡了分數
rational operator/(rational r1, rational r2) //返回乘法運算函式體
istream &operator>>(istream &in, rational& r) //流輸入運算子
}ostream &operator<<(ostream &out, rational& r) //流輸出運算子
while (q != 'y'&&q != 'y'&& q != 'n'&&q != 'n'); //是程式實現多次執行,進行判斷是否繼續進行操作
} while (q == 'y' || q == 'y');
return 0; //程式結束
}
@如果有程式方面的優化,請告訴我哦,謝謝。 c 有理數加法
本題要求編寫程式,計算兩個有理數的和。輸入格式 輸入在一行中按照a1 b1 a2 b2的格式給出兩個分數形式的有理數,其中分子和分母全是整形範圍內的正整數。輸出格式 在一行中按照a b的格式輸出兩個有理數的和。注意必須是該有理數的最簡分數形式,若分母為1,則只輸出分子。輸入樣例1 1 3 1 6輸出...
c 有理數加法
本題要求編寫程式,計算兩個有理數的和。輸入格式 輸入在一行中按照a1 b1 a2 b2的格式給出兩個分數形式的有理數,其中分子和分母全是整形範圍內的正整數。輸出格式 在一行中按照a b的格式輸出兩個有理數的和。注意必須是該有理數的最簡分數形式,若分母為1,則只輸出分子。輸入樣例1 1 3 1 6輸出...
有理數類的設計
package rational public class rational public long getnumerator public long getdenominator public rational add rational r2 public rational subtract ra...