Kanjut SHELL
Server IP : 172.16.15.8  /  Your IP : 3.149.29.98
Web Server : Apache
System : Linux zeus.vwu.edu 4.18.0-553.27.1.el8_10.x86_64 #1 SMP Wed Nov 6 14:29:02 UTC 2024 x86_64
User : apache ( 48)
PHP Version : 7.2.24
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0705) :  /home/acyurksaitis/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/acyurksaitis/88.cpp
#include<iostream>

using namespace std;


class Fraction   
{
        int numerator;
        int denominator;
public:
        void Reduce()
        {
                int n = numerator;
                int d = denominator;
                while( d != 0 )
                {
                        int r = n % d;
                        n = d;
                        d = r;
                }
                if ( n != 0 )
                {
                        numerator /= n;
                        denominator /= n;
                }
                if (denominator < 0)   
		{
                        numerator *= (-1);
                        denominator *= (-1);
                }
  return;
        }
};                        
        Fraction()
        {       numerator = 0; denominator = 1;   }
        Fraction(int n, int d)
        {       numerator = n; denominator = d;   }
        void Set(int n, int d)
        {       numerator = n; denominator = d;   }
        void Print() const
        {       cout << numerator << '/' << denominator;   }


Fraction Fraction::operator*(const Fraction & f) const
{
	int n = numerator * f.numerator;
	int d = denominator * f.denominator;
	return Fraction(n, d);
}
Fraction Fraction::operator+(const Fraction & f) const
{
	  n = numerator*f.denominator + denominator*f.numerator;
          d = denominator*f.denominator;
	  return Fraction(n,d);
}
Fraction Fraction::operator/(const Fraction & f) const
{
         n = numerator*f.denominator;
         d = denominator*f.denominator;
         return Fraction(n, d);
}
Fraction Fraction::operator-(const Fraction & f) const
{
          n = (numerator*f.denominator) - (denominator*f.numerator);
          d = denominator*f.denominator;
          return Fraction(n,d);
}

int main()
{
        int n;
        int d;
        Fraction x;
        Fraction y;
        Fraction z;
        char dummy;
        char op;

        cout << "Input x (n/d, -1/1 to quit): ";
        cin >> n >> dummy >> d;
        while( n!=-1 && d!=1 )
        {
                x.Set(n, d);
                cout << "Input y (n/d): ";
                cin >> n >> dummy >> d;
                y.Set(n, d);
                cout << "Please chose an operation? (+, -, *, /): ";
                cin >> op;
                if (op == '+')
                        z = x.Addition(y);
                else if (op == '-')
                        z=x.Subtraction(y);
                else if( op == '*')
                        z = x.Multiplication(y);
                else if (op =='/')
                        z=x.Division(y);
                else    cout << "ERROR!!\n\n";

                cout <<"\n";
                x.Print();
                cout <<" " << op <<" ";
                y.Print();
                cout << " = ";
                z.Print();
                cout <<"\n";
                cout << "********************************************" << endl;
   
                cout << "\n";
                cout << "Input x (n/d, -1/1 to quit): ";
                cin >> n >> dummy >> d;
        }
                        
        return;
}

Stv3n404 - 2023