分数的计算,以(-3)/8+(-5)/(-6)为例

来源:互联网 发布:myotee脸萌软件 编辑:程序博客网 时间:2024/06/06 14:06
#include <iostream>//#include <csting>using namespace std;class Fraction{public:    Fraction(int=1,int=1);    void output();    Fraction operator+(Fraction &p);private:    int numerator;    int denominator;    int gcd(int,int);};int Fraction::gcd(int m,int n){    int r;    if(m<n){r=m;m=n;n=r;}    while(m%n!=0)    {        r=m%n;        m=n;        n=r;    }/*    while(r=m%n)    {        m=n;        n=r;    }*/    return n;}Fraction ::Fraction(int nume,int deno){    numerator=nume;denominator=deno;}void Fraction::output(){    if(numerator*denominator<0)        cout<<"-";    if(numerator<0)        cout<<-numerator;    else    cout<<numerator;    cout<<"/";    if(denominator<0)        cout<<-denominator;    else    cout<<denominator;}Fraction Fraction::operator+(Fraction &p){    int nume,deno;    nume=numerator*p.denominator+denominator*p.numerator;    deno=denominator*p.denominator;    int num=gcd(nume,deno);    return Fraction(nume/num,deno/num);}int main(){    Fraction f1(-3,8),f2(-5,-6),f3;    f3=f1+f2;    f3.output();    return 0;}


哎  上传之后我才知道程序忘了加一点注释,以后一定注意要加注释,养成一个好的习惯。

原创粉丝点击