Untitled

                Never    
C
       
#include "function.h"
#include <iostream>

Rational::Rational(int numer, int denomin) {
    numerator = numer;
    denominator = denomin;
    reduce();
}

Rational Rational::addition(const Rational &input) const {
    int input_numer = input.numerator;
    int input_denomin = input.denominator;
    input_numer *= denominator;
    input_numer += (numerator * input_denomin);
    input_denomin *= denominator;
    Rational new_term(input_numer, input_denomin);
    return new_term;
}

Rational Rational::multiplication(const Rational &input) const {
    int input_numer = input.numerator;
    int input_denomin = input.denominator;
    input_numer *= numerator;
    input_denomin *= denominator;
    Rational new_term(input_numer, input_denomin);
    return new_term;
}

void Rational::printRational(void) const {
    using namespace std;
    cout << numerator << "/" << denominator << "\n";
    return;
}

void Rational::reduce(void) {
    int flag = 1;
    if (numerator < 0 && denominator < 0) {
        numerator = -numerator;
        denominator = -denominator;
        flag = 1;
    }
    if (numerator < 0 && denominator > 0) {
        numerator = -numerator;
        flag = -1;
    }
    if (denominator < 0 && numerator > 0) {
        denominator = -denominator;
        flag = -1;
    }

    int factor = gcd(numerator, denominator);
    numerator /= (factor * flag);
    denominator /= factor;
    return;
}

Raw Text