-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTestRational2.cpp
54 lines (37 loc) · 1.38 KB
/
TestRational2.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <iostream>
#include "Rational.hpp"
int main()
{
using namespace std;
using numeric::Rational;
Rational a { 1, 3 };
Rational b { 3, 2 };
cout << "Rational Number Class - Test Program\n"
"------------------------------------\n"
<< endl;
Rational c = a + b;
cout << a.numerator() << '/' << a.denominator() << " + "
<< b.numerator() << '/' << b.denominator() << " = "
<< c.numerator() << '/' << c.denominator() << endl;
Rational d = a * c;
cout << a.numerator() << '/' << a.denominator() << " * "
<< c.numerator() << '/' << c.denominator() << " = "
<< d.numerator() << '/' << d.denominator() << endl;
Rational e = d - b;
cout << d.numerator() << '/' << d.denominator() << " - "
<< b.numerator() << '/' << b.denominator() << " = "
<< e.numerator() << '/' << e.denominator() << endl;
Rational f = e / a;
cout << e.numerator() << '/' << e.denominator() << " / "
<< a.numerator() << '/' << a.denominator() << " = "
<< f.numerator() << '/' << f.denominator() << endl;
cout.setf(ios::boolalpha);
cout << a.numerator() << '/' << a.denominator() << " == "
<< b.numerator() << '/' << b.denominator() << " ? "
<< (a == b) << endl;
cout << c.numerator() << '/' << c.denominator()
<< " Positive? " << (c > Rational::ZERO) << endl;
cout << e.numerator() << '/' << e.denominator()
<< " Negative? " << (e < Rational::ZERO) << endl;
return 0;
}