public static string performCases(string fractionAString, string fractionBString, string sign) { FractionClass fractionA = new FractionClass(); FractionClass fractionB = new FractionClass(); FractionClass solution = new FractionClass(); fractionA.setFractionFromString(fractionAString); fractionB.setFractionFromString(fractionBString); switch (sign) { case Const.PLUS_SYMBOL_STRING: solution = FractionAddition.Add(fractionA, fractionB); break; case Const.MINUS_SYMBOL_STRING: solution = FractionSubstraction.Substract(fractionA, fractionB); break; case Const.MULTIPLY_SYMBOL_STRING: solution = FractionMultiplication.Multiply(fractionA, fractionB); break; case Const.DIVIDE_SYMBOL_STRING: solution = FractionDivision.Divide(fractionA, fractionB); break; } return solution.returnFractionAsString(); }
public static FractionClass Multiply(FractionClass a, FractionClass b) { FractionClass solution = new FractionClass(); solution.numerator = a.numerator * b.numerator; solution.denominator = a.denominator * b.denominator; return solution; }
public static string calculateWithNonFractionA(string nonFractionA, string fractionB, string sign) { FractionClass fractionA = new FractionClass(); fractionA.convertNumberToFraction(nonFractionA); string result = "0"; result = performCases(fractionA.returnFractionAsString(), fractionB, sign); return result; }
public static FractionClass Divide(FractionClass a, FractionClass b) { FractionClass solution = new FractionClass(); solution.numerator = a.numerator * b.denominator; solution.denominator = a.denominator * b.numerator; return a; }
public static FractionClass Substract(FractionClass a, FractionClass b) { FractionClass solution = new FractionClass(); if (a.denominator == b.denominator) { solution.numerator = a.numerator - b.numerator; solution.denominator = a.denominator; } else { int LCM = FractionLCM.GetLeastCommonMultiple(a.denominator, b.denominator); solution.denominator = LCM; solution.numerator = a.numerator * LCM / a.denominator - b.numerator * LCM / b.denominator; } return solution; }