// Program demonstrating the use of a simple rational-number class
#include <iostream.h>
#include "rational.h"

int main(void)
{ Rational z;                    /* by default, z is zero */
  Rational i(4);                 /* simple integer initialization for 4/1 */
  Rational r(3, 5);              /* rational number 3/5 */

  /* printing of initialized rational numbers */
  cout << "The following rational numbers have been defined" << endl;
  cout << "  z             i(4)         r(3, 5)" << endl;
  z.print ();                    /* use z's print operation */
  cout << "          ";
  i.print ();                    /* this print refers to object i */
  cout << "          ";
  r.print ();                    /* parentheses () are needed for functions */
  cout << endl;
  cout.setf(ios::fixed);
  cout.precision(5);
  cout << "The corresponding decimal values are:" << endl;
  cout << z.eval() << "       " << i.eval() << "        " << r.eval()
       << endl << endl;

  /* using z's read operation */
  cout << "Enter a fraction:  ";
  z.read ();
  
  /* using the addition operation */
  Rational s = z + r;

  /* more printing */
  cout << "Two additional rational numbers are:" << endl;
  cout << "Your z       sum z + r" << endl;
  z.print ();
  cout << "         ";
  s.print ();
  cout << endl << endl;
  return 0;
}

