so heres my code
Code:
// This Programs makes some operations, in order similar like a vector notation.
// it multiplies what is given
// Jeronimo Hernandez .
// Professor : Sarkar
#include <iostream>
using namespace std;
class fraction
{
public:
fraction (); //default class constructor
fraction (int num2, int den2); // class constructor
void set (int num2, int den2);
fraction MultipliedBy (fraction) const;
fraction DividedBy (fraction) const;
fraction AddedTo (fraction) const;
fraction Subtract (fraction) const;
bool isEqualTo (fraction) const;
bool isGreaterThan (fraction) const;
void print() const;
private:
int num;
int den;
};
fraction::fraction ()
{
num=0;
den=1;
}
fraction::fraction (int num2, int den2)
{
num=num2;
den=den2;
}
void fraction::set (int num2, int den2)
{
num=num2;
den=den2;
}
fraction fraction ::MultipliedBy (fraction temp) const
{
fraction result;
result.num=this->num*temp.num;
result.den=this->den*temp.den;
return result;
}
fraction fraction:: DividedBy (fraction temp) const
{
fraction result;
result.num=this->num*temp.den;
result.den=this->den*temp.num;
return result;
}
fraction fraction ::AddedTo (fraction temp) const
{
fraction result;
result.den=this->den*temp.den;
result.num=(this->num*temp.den)+(this->den*temp.num);
return result;
}
fraction fraction::Subtract (fraction temp) const
{
fraction result;
result.den=this->den*temp.den;
result.num=(this->num*temp.den)-(this->den*temp.num);
return result;
}
bool fraction::isEqualTo (fraction temp) const
{
if((this->num==temp.num)&&(this->den==temp.den))
return true;
else
return false;
}
void print ()
{
cout << "(" << this->num << "," << this->den << ")";
}
// Client code. This code was given by the Professor.
int main()
{
fraction f1(9,8); //calling a parameterized class constructor
fraction f2(2,3); //calling a parameterized class constructor
fraction result; //calling a default class constructor
fraction f3; //calling a default class constructor
cout << "The result starts off at ";
result.print(); //calling an observer function
cout << endl;
cout << "The product of ";
f1.print();
cout << " and ";
f2.print();
cout << " is ";
result = f1.MultipliedBy(f2); //a class binary operation - function
result.print();
cout << endl;
f3 = result; //assignment
if (f2.isGreaterThan(f3)){ //a class relational expression - boolean operation/function
f2.print();
cout <<" is greater than ";
f3.print();
cout<<endl;
} else {
f2.print();
cout <<" is less than ";
f3.print();
cout<<endl;
}
cout << "The sum of ";
f1.print();
cout << " and ";
f2.print();
cout << " is ";
result = f1.AddedTo(f2); //a class binary operation - function
result.print();
cout << endl;
cout << "The difference of ";
f1.print();
cout << " and ";
f2.print();
cout << " is ";
result = f1.Subtract(f2); //a class binary operation - function
result.print();
cout << endl;
if (f1.isEqualTo(f2)){ //a class relational expression - boolean operation/function
cout << "The two fractions are equal." << endl;
} else {
cout << "The two fractions are not equal." << endl;
}
const fraction f4(12, 8);
const fraction f5(202, 303);
result = f4.DividedBy(f5); //a class binary operation - function
cout << "The quotient of ";
f4.print();
cout << " and ";
f5.print();
cout << " is ";
result.print();
cout << endl;
system ("PAUSE");
return 0; //if everything runs fine,it will return 0.
}
// Fraction class specification file
and my errors
In function `void print()':
invalid use of `this' in non-member function
invalid use of `this' in non-member function