返回:賀老師課程教學鏈結
【專案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 這個解法不能算錯,但是不好,它會...