Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Download: http://solutionzip.com/downloads/rational-cpp/
- 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.
- Filename: rational.cpp
- Download: http://solutionzip.com/downloads/rational-cpp/
Add Comment
Please, Sign In to add comment