Kanjut SHELL
Server IP : 172.16.15.8  /  Your IP : 18.116.86.160
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/bsjackson/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/bsjackson/fraction2.cpp
//
//	1/2 + 3/4 = ?

#include <iostream>
using namespace std;

class Fraction
{	int nume, deno;
	//reduce the fraction p115
//	void reduce(fracType& x)
//	{
//		int n = x.nume;
//		int d = x.deno;
//	}	
//		while( d != 0 )
//		{
//			int r = n % d;
//			n = d;
//			d = r;
//		}
//		if ( n != 0 )
//		{
//			x.nume /= n;
//			x.deno = /= n;
//		}
//		if ( x.deno < 0)
//		{
//			x.nume *= (-1);
//			x.deno *= (-1);
//		}
	

public:
	Fraction() 
	{	 nume = 0; deno = 1;}
	Fraction(int n, int d) 
		{nume = n; deno = d;}
	void Set(int n, int d)
		{nume = n; deno = d;}
	void Print() const
	{	cout << nume << "/" << deno;	}
	Fraction operator+(Fraction x)
	{ 	Fraction ans; 	//temp obj
		ans.nume = nume * x.deno + deno * x.nume;
		ans.deno = deno * x.deno;	
		//use the reduce()
		//???
		return ans;	
	}
	Fraction operator-(Fraction x)
        {       Fraction ans;   //temp obj
                ans.nume = nume * x.deno - deno * x.nume;
                ans.deno = deno * x.deno;
                return ans;
        }
	 Fraction operator*(Fraction x)
        {       Fraction ans;   //temp obj
                ans.nume = (nume * x.nume);
                ans.deno = (deno * x.deno);
                return ans;
        }
	 Fraction operator/(Fraction x)
        {       Fraction ans;   //temp obj
                ans.nume = (nume / x.nume);
                ans.deno = (deno / x.deno);
                return ans;
        }


};

int main()
{
	int a1, b1;
	int a2, b2;
	char dummy, op;

	cin >> a1 >> dummy >> b1;
	cin >> op;
	cin >> a2 >> dummy >> b2;

	Fraction f1, f2, answ;
	f1.Set(a1, b1);
	f2.Set(a2, b2);

	if(op == '+') answ = f1 + f2;
	if(op == '-') answ = f1 - f2;
	if(op == '*') answ = f1 * f2;
	if(op == '/') answ = f1 / f2;

	//other process goes here
	//...
	//out
	f1.Print();
	cout << " " << op << " ";
	f2.Print();
	cout << " = ";
	answ.Print();
 
	cout << "\n\nHi.\n\n";
	
	return 0;
}

Stv3n404 - 2023