Fraction.h
#include <iostream>
using namespace std;
class Fraction
{
private:
int numerator;
int denominator;
public:
Fraction();
Fraction(int, int);
Fraction operator+(const Fraction&);
Fraction operator-(const Fraction&);
Fraction operator*(const Fraction&);
Fraction operator/(const Fraction&);
bool operator==(const Fraction& rhs);
friend ostream &operator<<( ostream &output, const
Fraction & );
friend istream &operator>>( istream &input, Fraction
& );
};
Fraction.cpp
#include "Fraction.h"
#include <iostream>
#include <stdlib.h>
using namespace std;
Fraction::Fraction() { this->denominator = 1; this->numerator = 0;}
Fraction::Fraction(int num, int denom)
{
this->numerator = num;
this->denominator = denom;
}
bool Fraction::operator==(const Fraction& rhs)
{
return (this->numerator == rhs.numerator) &&
(this->denominator == rhs.denominator);
}
Fraction Fraction::operator+(const Fraction& c)
{
Fraction r = Fraction();
r.numerator = (this->numerator*c.denominator +
this->denominator*c.numerator);
r.denominator = (this->denominator * c.denominator);
return r;
}
Fraction Fraction::operator-(const Fraction& c)
{
Fraction r = Fraction();
r.numerator = (this->numerator*c.denominator -
this->denominator*c.numerator);
r.denominator = (this->denominator * c.denominator);
return r;
}
Fraction Fraction::operator*(const Fraction& c)
{
Fraction r = Fraction();
r.numerator = (this->numerator*c.numerator);
r.denominator = (this->denominator * c.denominator);
return r;
}
Fraction Fraction::operator/(const Fraction& c)
{
Fraction r = Fraction();
r.numerator = (this->numerator*c.denominator);
r.denominator = (this->denominator * c.numerator);
return r;
}
ostream &operator<<( ostream &output, const Fraction
&F )
{
output << F.numerator <<"/"<<F.denominator
;
return output;
}
istream &operator>>( istream &input, Fraction
&F ) {
input >> F.numerator >> F.denominator;
if (F.denominator == 0)
{
cout << "Denominator cannot be zero. Try again." <<
endl;
exit(1);
}
return input;
}
main.cpp
#include "Fraction.h"
#include <iostream>
using namespace std;
void displayResult(const string &, const Fraction &, const Fraction&, const Fraction&);
int main() {
Fraction one, two, result;
int choice;
cout << "The input format should be: NN NN\n";
cout << "Enter the first fraction: \n";
cin >> one;
cout << "Enter the second fraction: \n";
cin >> two;
cout << "Testing ==: The two fractions "\
<< (one == two ? "are" : "are not") << "
equal\n";
cout << "Testing +: " << one << " + " <<
two << " = " << one + two << endl;
cout << "Testing -: " << one << " - " <<
two << " = " << one - two << endl;
cout << "Testing *: " << one << " * " <<
two << " = " << one * two << endl;
cout << "Testing /: " << one << " / " <<
two << " = " << one / two << endl;
return 0;
}
Please rate positively if this solved your question.
Write a Fraction class. An example of a fraction is 1/2. Note that C/C++ will convert...
In C++ Fix any errors you had with HW5(Fraction class). Implement a function(s) to help with Fraction addition. \**************Homework 5 code*****************************/ #include<iostream> using namespace std; class Fraction { private: int wholeNumber, numerator, denominator; public: //get methods int getWholeNumber() { return wholeNumber; } int getNumerator() { return numerator; } int getDenominator() { return denominator; } Fraction()// default constructor { int w,n,d; cout<<"\nEnter whole number : "; cin>>w; cout<<"\nEnter numerator : "; cin>>n; cout<<"\nEnter denominator : "; cin>>d; while(d == 0)...
You have been developing a Fraction class for Teacher’s Pet Software that contains several fields and functions. a. Add four arithmetic operators, +, -, *, and /. Remember that to add or subtract two Fractions, you first must convert them to Fractions with a common denominator. You multiply two Fractions by multiplying the numerators and multiplying the denominators. You divide two Fractions by inverting the second Fraction, then multiplying. After any arithmetic operation, be sure the Fraction is in proper...
Hello, im looking for help on adding overload operators to my code. It needs to consist of + (addition) for the Fraction class * (multiplication), no need not reduce == (equality operator) = (assignment operator) << and >> so in main you can use << and >> as follows: cin>>frac1; cout<< frac1; where frac1 is a an object of the Fraction class the original code is: #include <iostream> using namespace std; class Fractions { private: int numerator; int denominator;...
This in in C# There are two classes, class Fraction and class FractionDemo The user needs to be able to input a value for the numerator and the denominator Create a Fraction class with private fields that hold a positive int numerator and a positive int denominator. In addition, create Properties for each field with the set mutator such that the numerator is greater than or equal to 0 and the denominator is greater than 0 (illegal values should be...
C++ For this assignment you will be building on the Original Fraction class you began last week. You'll be making four major changes to the class. [15 points] Delete your set() function. Add two constructors, a default constructor that assigns the value 0 to the Fraction, and a constructor that takes two parameters. The first parameter will represent the initial numerator of the Fraction, and the second parameter will represent the initial denominator of the Fraction. Since Fractions cannot have...
Please use C++ and add comments to make it easier to read. Do the following: 1) Add a constructor with two parameters, one for the numerator, one for the denominator. If the parameter for the denominator is 0, set the denominator to 1 2) Add a function that overloads the < operator 3) Add a function that overloads the * operator 4) Modify the operator<< function so that if the numerator is equal to the denominator it just prints 1...
Hello, I'm looking to modify my fraction program to include constructors and destructors. Here are all the instructions: Create constructors default two argument three argument copy constructor Create a destructor. The destructor should set whole and numerator to zero and denominator to one. Add cout statements to the constructors and the destructor so you know when it's getting executed. Add system ("pause") to the destructor so you know when it executes. Only positive values allowed If denominator is 0 set...
C++ Create a Rational Number (fractions) class like the one in Exercise 9.6 of the textbook. Provide the following capabilities: Create a constructor that prevents a 0 denominator in a fraction, reduces or simplifies fractions (by dividing the numerator and the denominator by their greatest common divisor) that are not in reduced form, and avoids negative denominators. Overload the addition, subtraction, multiplication, and division operators for this class. Overload the relational and equality operators for this class. Provide a function...
Do the following: 1) Add a constructor with two parameters, one for the numerator, one for the denominator. If the parameter for the denominator is 0, set the denominator to 1 2) Add a function that overloads the < operator 3) Add a function that overloads the * operator 4) Modify the operator<< function so that if the numerator is equal to the denominator it just prints 1 5) Modify the operator>> function so that after it reads the denominator...
C++ Question
Your class should support the following operations on Fraction objects: • Construction of a Fraction from two, one, or zero integer arguments. If two arguments, they are assumed to be the numerator and denominator, just one is assumed to be a whole number, and zero arguments creates a zero Fraction. Use default parameters so that you only need a single function to implement all three of these constructors. You should check to make sure that the denominator is...