#include #include "rat.h" //private members rational::rational(){ numer = 0; denom = 1; } rational::rational (int num, int den){ numer = num; denom = den; } void rational::print() const { cout << numer << "/" << denom; } int rational::numerator() const { return(numer); } int rational::denominator() const{ return(denom); } float rational::value() const{ return(float(numer)/float(denom)); } int rational::compare( rational b) const{ // return -1 if this one is smaller // return 0 if they are the same // return 1 if this one is bigger return(0); } rational rational::add(rational b) const{ rational rv; return(rv); } rational rational::subtract(rational b) const{ rational rv; return(rv); } rational rational::mpy(rational b) const{ rational rv; rv.numer = numer * b.numer; rv.denom = denom * b.denom; return(rv); } rational rational::divide(rational b) const{ // divide this value by b and return the reslult return(b); } void rational::read() { // read in a rational number // in the form a/b } int find_gcf(int numer,int denom) { return(1); } // remove common factors from numerator and denominator void rational::reduce() { int gcf; gcf = find_gcf(numer, denom); numer = numer/ gcf; denom = denom / gcf; } bool rational::operator ==(rational b) { if ((numer==b.numer) && (denom == b.denom) ) { return(true); } else { return(false); } } rational rational::operator +( rational b) { rational rv; rv.numer = numer* b.denom + b.numer * denom; rv.denom = denom * b.denom; return(rv); } rational rational::operator +( int b) { rational rv; rv.numer = numer + b *denom; rv.denom = denom; return(rv); } ostream& operator <<(ostream & s, rational a) { s << a.numer; s << "/"; s << a.denom; return(s); }