Rational fractions are of the form a / b , where a and b are integers and b ≠ 0. In this exercise, by “fractions” we mean rational fractions. Suppose a / b and c / d are fractions. Arithmetic operations on fractions are defined by the following rules:
a / b + c / d = (ad + bc ) / bd
a / b − c / d = (ad − bc )/bd
a / b × c / d = ac / bd
(a / b ) / (c / d ) = ad / bc, where c / d = 0.
Fractions are compared as follows: a / b op c / d if ad op bc, where op is any of the relational operations. For example, a / b <c / d if ad
Design a class —say, fractionType —that performs the arithmetic and relational operations on fractions. Overload the arithmetic and relational operators so that the appropriate symbols can be used to perform the operation. Also, overload the stream insertion and stream extraction operators for easy input and output.
a. Write a C++ program that, using the class fractionType , performs operations on fractions.
b. Among other things, test the following: Suppose x, y, and z are objects of type fractionType . If the input is 2/3, the statement
cin ≫ x;
should store 2/3 in x . The statement
cout ≪ x + y ≪ end1;
should output the value of x + y in fraction form. The statement z = x + y ;
should store the sum of x and y in z in fraction form. Your answer need not be in the lowest terms.
We need at least 10 more requests to produce the solution.
0 / 10 have requested this problem solution
The more requests, the faster the answer.