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

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/grpatillo/fractionCalculator.cpp
/*	File Name:	fractionCalculator.cpp
	Author:		R.P. Patillo
	Instructor:	Dr. John Wang
	Due Date:	Feb. 27, 2008
	Compiling:	g++ fractionCalculator.cpp -o 
			fractionCalculator.out
	Execution:	./fractionCalculator.out
*/

#include <iostream>

using namespace std;

class Fraction
{
	int nume;
	int deno;

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 Add (Fraction r)
	{
		Fraction ans;
		int n, d;
        	d = deno * r.deno;
        	n = nume * r.deno + deno * r.nume;
        	ans.Set (n, d);
        	return ans;
	}
	Fraction Diff (Fraction r)
	{
	        Fraction ans;
        	int n, d;
        	d = deno * r.deno;
        	n = nume * r.deno - deno * r.nume;
        	ans.Set (n, d);
        	return ans;
	}
	Fraction Mult (Fraction r)
	{
	        Fraction ans;
        	int n, d;
       		d = deno * r.deno;
        	n = nume * r.nume;
        	ans.Set (n, d);
        	return ans;
	}

	Fraction Divide (Fraction r)
	{
	        Fraction ans;
        	int n, d;
	        d = deno * r.nume;
        	n = nume * r.deno;
	        ans.Set (n, d);
        	return ans;
	} 
};

int main()
{
	Fraction x, y;
	Fraction z(1, 2);
	int n, d;
	char dummy, 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 << "Operation? (+, -, *, /)\t";
		cin >> op;
		
		if ( op == '+')
			z = x.Add (y);
		else if ( op == '-')
			z = x.Diff (y);
		else if ( op == '*')
			z = x.Mult (y);
		else if ( op == '/' )
			z = x.Divide (y);

		x.Print();
		cout << " " << op << " ";
		y.Print();
		cout << " = ";
		z.Print();
		cout << "\n";

		cout << "------------------------------------------" << endl;
		cout << "\n\nInput x (n/d), (-1/1 to quit): ";
		cin >> n >> dummy >> d;
	}
	cout << "\n\nDone.\n\n" << endl;

	return 0;
}

Stv3n404 - 2023