You need to create a Fraction calculator program.You need to create a Fraction class to represent fraction objects and a FractionCalculator class that will perform operations on fractions. Make sure you use input validation, so your program doesn't crash.
Requirements for Class Components:
• You need to create a Fraction class that stores information regarding fractions.
o The class should have private instance fields for this class called numerator and denominator.
o You need properties to get/set these values.
Name them Numerator and Denominator.
o The class needs a constructor that accepts two strings that are used to construct a fraction object: one for the numerator, and one for the denominator.
o The class needs a constructor that accepts two integers that are used to construct a fraction object.
o You need an Equals() method that returns true when a fraction passed into the method is equal to the fraction object the method was called upon.
Example: If frac1.equals(frac2) Then ...
o You need a ToString() method that returns a string representation of a fraction.
For example, a fraction with a numerator of 5 and a denominator of 6 would return "5/6" when the ToString method is called.
• You need to create a FractionCalculator class will be responsible for working with two fractions.
o This class should be used to perform addition, subtraction, multiplication, and divide.
o The Add, Subtract, Multiply, and Divide methods should take two fractions objects as input and return a new fraction which is the result of the operation that was performed on the two input fractions.
o This class needs a Swap() method that will accept two fraction objects and swap them.
o This class needs an Invert() method that will accept a single fraction object and swap the numerator and denominator.
For example, fraction "3/4" becomes "4/3"
o Try creating a Reduce() method to simply fractions for an extra credit challenge.
Hint: you will need recursion and the Euclidean Algorithm.
• You need to create a form that allows the user to enter two fractions, perform a specific operation (+, -, *, /, swap, and invert), and display the results.
• Display clear instructions to the user where necessary.
Adding fractions: a/b + c/d
(ad + bc) / bd
Subtracting fractions: a/b - c/d
(ad - bc) / bd
Multiplying fractions: a/b * c/d
(a * c) / (b * d)
Dividing fractions: (a/b) / (c/d)
(a * d) / (b * c)