日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

项目4-分数类和整型数的四则运算

發布時間:2024/1/8 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 项目4-分数类和整型数的四则运算 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/* * Copyright (c) 2011, 煙臺大學計算機學院 * All rights reserved. * 作 者:王靜 * 完成日期:2013 年 4 月 24 日 * 版 本 號:v1.0 * 輸入描述: * 問題描述:分數類中的對象可以和整型數進行四則運算,且運算符合交換律。例如:CFraction a(1,3),b;int i=2; 可以完成b=a+i;。同樣,可以完成i+a, 45+a, a*27, 5/a等各種運算。 * 程序輸出: * 問題分析: * 算法設計:略 */ #include<iostream> #include<cmath> using namespace std; class CFraction {private: int nume; // 分子 int deno; // 分母 public:CFraction(int nu=0,int de=1); //置值,改變值時用CFraction simplify(); //化簡(使分子分母沒有子)//比較運算符(二目)的重載bool operator > (CFraction &t);bool operator < (CFraction &t);bool operator == (CFraction &t);//二目運算符的重載CFraction operator+(CFraction &n);CFraction operator-(CFraction &n);CFraction operator*(CFraction &n);CFraction operator/(CFraction &n);CFraction operator+(int i);CFraction operator-(int i);CFraction operator*(int i);CFraction operator/(int i);void display(); };CFraction::CFraction(int nu,int de) //置值 {nume=nu;deno=de; } CFraction CFraction::simplify() //化簡(使分子分母沒有公因子) {CFraction n;n.nume=nume;n.deno=deno;int i;if(nume%deno==0){n.deno=1;n.nume=nume/deno;}else{if(nume>deno){for(i=2;i<=n.deno;i++){if(nume%i==0&&deno%i==0){n.nume=n.nume/i;n.deno=n.deno/i;}}}else{for(i=2;i<=n.nume;i++){if(n.nume%i==0&&n.deno%i==0){n.nume=n.nume/i;n.deno=n.deno/i;}}}}return n; } bool CFraction::operator > (CFraction &t) {if(nume>t.nume||(nume==t.nume&&deno>t.deno)){return true;}else{return false;} } bool CFraction::operator < (CFraction &t) {if(nume<t.nume||(nume==t.nume&&deno<t.deno)){return true;}else{return false;} } bool CFraction::operator == (CFraction &t) {if(nume==t.nume&&deno==t.deno){return true;}else{return false;} } //二目運算符的重載 CFraction CFraction::operator+(CFraction &n) {CFraction t;t.deno=deno*n.deno;t.nume=(n.nume)*deno+nume*(n.deno);return t.simplify(); }CFraction CFraction::operator-(CFraction &n) {CFraction t;t.deno=deno*n.deno;t.nume=nume*n.deno-n.nume*deno;return t.simplify(); } CFraction CFraction::operator*(CFraction &n) {CFraction t;t.deno=deno*n.deno;t.nume=nume*n.nume;return t.simplify(); } CFraction CFraction::operator/(CFraction &n) {CFraction t;t.deno=deno*n.nume;t.nume=nume*n.deno;return t.simplify(); } CFraction CFraction::operator+(int i) {CFraction t;t.deno=deno;t.nume=nume+i*deno;return t.simplify(); }CFraction CFraction::operator-(int i) {CFraction t;t.deno=deno;t.nume=nume-i*deno;return t.simplify(); } CFraction CFraction::operator*(int i) {CFraction t;t.deno=deno;t.nume=nume*i;return t.simplify(); } CFraction CFraction::operator/(int i) {CFraction t;t.deno=deno*i;t.nume=nume;return t.simplify(); } void CFraction::display() {if(deno==1){cout<<nume<<endl;}else{cout<<nume<<"/"<<deno<<endl;} } int main() {CFraction n1(3,2),n2(1,2),n;//構造函數,初始化用cout<<"n1為:";n1.display();cout<<"n2為:";n2.display();cout<<"下面比較兩個時間大小:\n";if (n1>n2) cout<<"n1>n2"<<endl;if (n1<n2) cout<<"n1<n2"<<endl;if (n1==n2) cout<<"n1=n2"<<endl;cout<<endl;//下面自行設計對其他運算符的重載的測試cout<<"n1+n2=";n=n1+n2;n.display();cout<<"n1-n2=";n=n1-n2;n.display();cout<<"n1*n2=";n=n1*n2;n.display();cout<<"n1/n2=";n=n1/n2;n.display();cout<<"n1+4=";n=n1.operator+(4);n.display();cout<<"n1-4=";n=n1.operator-(4);n.display();cout<<"n1*4=";n=n1.operator*(4);n.display();cout<<"n1/4=";n=n1.operator/(4);n.display();return 0; }


?

運行結果:
(貼圖)


心得體會:

總結

以上是生活随笔為你收集整理的项目4-分数类和整型数的四则运算的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。