// Fraction.cpp: implementation of the Fraction class. // ////////////////////////////////////////////////////////////////////// #include "stdafx.h" #include "Optima.h" #include "Fraction.h" #ifdef _DEBUG #undef THIS_FILE static char THIS_FILE[]=__FILE__; #define new DEBUG_NEW #endif ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// Fraction::Fraction() { n=0; d=1; } Fraction::~Fraction() { } Fraction operator *(Fraction a,Fraction b) { Fraction c; c.n=a.n*b.n; c.d=a.d*b.d; c.Lower(); return c; } Fraction operator +(Fraction a,Fraction b) { Fraction c; c.n=a.n*b.d+b.n*a.d; c.d=a.d*b.d; c.Lower(); return c; } Fraction operator -(Fraction a,Fraction b) { Fraction c; c.n=a.n*b.d-b.n*a.d; c.d=a.d*b.d; c.Lower(); return c; } Fraction operator /(Fraction a,Fraction b) { Fraction c; c.n=a.n*b.d; c.d=a.d*b.n; c.Lower(); return c; } Fraction Fraction::operator =(Fraction a) { n=a.n; d=a.d; return a; } int operator <(Fraction a,Fraction b) { if(float(a)(Fraction a,Fraction b) { if(float(a)>float(b)) return 1; else return 0; } int operator >=(Fraction a,Fraction b) { if(a>b || a==b) return 1; else return 0; } int operator <=(Fraction a,Fraction b) { if(a