《C 語言基礎》實踐參考 分數類中的運算子過載

2021-07-01 23:12:39 字數 3831 閱讀 9616

返回:賀老師課程教學鏈結

【專案3-分數類中的運算子過載】

(1)實現分數類中的運算子過載,在分數類中可以完成分數的加減乘除(運算後再化簡)、比較(6種關係)的運算。可以在第4周分數類**的基礎上開始工作。

class cfraction

;//過載函式的實現及用於測試的main()函式

[參考解答]

#include #include using namespace std;

class cfraction

void simplify();

void display();

cfraction operator+(const cfraction &c); //兩個分數相加,結果要化簡

cfraction operator-(const cfraction &c); //兩個分數相減,結果要化簡

cfraction operator*(const cfraction &c); //兩個分數相乘,結果要化簡

cfraction operator/(const cfraction &c); //兩個分數相除,結果要化簡

bool operator>(const cfraction &c);

bool operator<(const cfraction &c);

bool operator==(const cfraction &c);

bool operator!=(const cfraction &c);

bool operator>=(const cfraction &c);

bool operator<=(const cfraction &c);

};// 分數化簡

void cfraction::simplify()

deno/=n; // 化簡

nume/=n;

if (deno<0) // 將分母轉化為正數

}//顯示分數

void cfraction::display()

int main()

void simplify();

void display();

friend cfraction operator+(const cfraction &c1, const cfraction &c2); //兩個分數相加,結果要化簡

friend cfraction operator-(const cfraction &c1, const cfraction &c2); //兩個分數相減,結果要化簡

friend cfraction operator*(const cfraction &c1, const cfraction &c2); //兩個分數相乘,結果要化簡

friend cfraction operator/(const cfraction &c1, const cfraction &c2); //兩個分數相除,結果要化簡

friend cfraction operator+(const cfraction &c, int i);

friend cfraction operator+(int i, const cfraction &c );

friend cfraction operator-(const cfraction &c, int i);

friend cfraction operator-(int i, const cfraction &c );

friend cfraction operator*(const cfraction &c, int i);

friend cfraction operator*(int i, const cfraction &c );

friend cfraction operator/(const cfraction &c, int i);

friend cfraction operator/(int i, const cfraction &c );

cfraction operator+(); //取正一目運算

cfraction operator-(); //取反一目運算

friend bool operator>(const cfraction &c1, const cfraction &c2);

friend bool operator<(const cfraction &c1, const cfraction &c2);

friend bool operator==(const cfraction &c1, const cfraction &c2);

friend bool operator!=(const cfraction &c1, const cfraction &c2);

friend bool operator>=(const cfraction &c1, const cfraction &c2);

friend bool operator<=(const cfraction &c1, const cfraction &c2);

friend bool operator>(const cfraction &c, int i);

friend bool operator>(int i, const cfraction &c);

friend bool operator<(const cfraction &c, int i);

friend bool operator<(int i, const cfraction &c);

friend bool operator==(const cfraction &c, int i);

friend bool operator==(int i, const cfraction &c);

friend bool operator!=(const cfraction &c, int i);

friend bool operator!=(int i, const cfraction &c);

friend bool operator>=(const cfraction &c, int i);

friend bool operator>=(int i, const cfraction &c);

friend bool operator<=(const cfraction &c, int i);

friend bool operator<=(int i, const cfraction &c);

};// 分數化簡

void cfraction::simplify()

deno/=n; // 化簡

nume/=n;

if (deno<0) // 將分母轉化為正數

}//顯示分數

void cfraction::display()

bool operator>(const cfraction &c, int i)

bool operator>(int i, const cfraction &c)

bool operator<(int i, const cfraction &c)

bool operator==(const cfraction &c, int i)

bool operator==(int i, const cfraction &c)

bool operator!=(const cfraction &c, int i)

bool operator!=(int i, const cfraction &c)

bool operator>=(const cfraction &c, int i)

bool operator<=(int i, const cfraction &c)

int main()

《C語言及程式設計》實踐參考 分數的累加

專案要求 技巧 專門設定乙個變數s表示累加項的符號,取值隨著迴圈,每次乘以 1。從而在 1 1之間變化。迴圈加求和的累加要用累加的項 i i 1 乘以這個表示符號的s。5 1 3 3 5 5 7 7 9 19 21 這是我們的目標。品品這樣的思路。一口吃不成胖子,學會一口一口吃飯。用心程式設計,再大...

《C語言及程式設計》實踐參考 分數的累加

專案要求 1 1 2 20 這個應該會 用for迴圈完成,其他迴圈自行完成 include int main 2 1 1 2 1 3 1 20 分數的累加,注意兩個整型相除,商也為整型,而顯然求和結果應該是小數 用for迴圈完成,其他迴圈自行完成 include int main 3 1 2 2 3...

《C語言及程式設計》實踐參考 分段函式求值

返回 賀老師課程教學鏈結 專案要求 專案1 分段函式求值 從鍵盤輸入x的值 要求為實型 根據公式1計算並輸出x和y的值。參考解答 解法1 include include int main 同學們的解法中,還有 解法2 include include int main 這個解法不能算錯,但是不好,它會...