Define a class for rational numbers. A
rational number is a number that can be
represented as the quotient of two
integers. For example, 1/2, 3/4, 64/2,
and so forth are all rarional numbers.
(By 1/2 and so on we mean that everyday
fractions, not the integer division this
expression would produce in a C++
program.) Represent rational numbers as
two values of type int, one for the
numerator and one for the denominator.
Call the class Rational. Include a
constructor with two arguments that can
be used to set the member variables of an
object to any legitimate values. Also
include a constructor that has only a
single parameter of type int; call this
single parameter wholeNumber and de?ne
the constructor so that the object will
be initialized to the rational number
wholeNumber/1. Include a default
constructor that initializes an object to
0 (that is, 0/1). Overload the input and
output operators >> and <<. Numbers are to be input and output in the form 1/2, 15/32, 300/401, and so forth. Note that the numerator, the denominator, or both may contain a minus sign, so -1/2, 15/- 32, and -300/-401 are also possible inputs. Overload all the following operators so that they correctly apply to the type Rational: ==, <, <=, >, >=, +,
-, *, and /. The main() should test your
class and the functions.
Hints: Two rational numbers a/b and c/d
are equal if a*d equals c*b. If b and d
are positive rational numbers, a/b is
less than c/d provided a*d is less than
c*b. You should include a function to
normalize the values stored so that,
after normalization, the deniminator is
positive and the numerator and
denominator are as small as possible. For
example, after normalization 4/-8 would
be represented the same as -1/2.
Write a Review
Leave a reply Cancel reply
Ask Your Question
We have verified professionals who are ready to answer your question.
Save Time and Money
We choose experts who can quickly answer your question and that suit your budget.
Get Your Answer
Your satisfaction is 100% guaranteed. You can keep on asking questions until you get the answer you need.