Guest User

fraction

a guest
Jan 26th, 2015
306
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.99 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. class Fraction{
  4.     long num;
  5.     long den;
  6. public:
  7.     void setNum(int);
  8.     void setDen(int);
  9.     int getNum();
  10.     int getDen();
  11.     long gcd(long,long);
  12.     Fraction add(Fraction,Fraction);
  13.     Fraction sub(Fraction,Fraction);
  14.     Fraction mult(Fraction,Fraction);
  15.     Fraction div(Fraction,Fraction);
  16.     Fraction inc(Fraction);
  17.     void print();
  18. };
  19. void Fraction::setNum(int num)
  20. {
  21.     Fraction::num = num;
  22. }
  23. void Fraction::setDen(int den)
  24. {
  25.     Fraction::den = den;
  26. }
  27. int Fraction::getNum()
  28. {
  29.     return Fraction::num;
  30. }
  31. int Fraction::getDen()
  32. {
  33.     return Fraction::den;
  34. }
  35. long Fraction::gcd(long x, long y)
  36. {
  37.     return (x==0)?y:gcd(y%x,x);
  38. }
  39. Fraction Fraction::add(Fraction first, Fraction second)
  40. {
  41.     Fraction sum;
  42.     sum.setNum(first.num*second.den+second.num*first.den);
  43.     sum.setDen(first.den*second.den);
  44.     return sum;
  45. }
  46. Fraction Fraction::sub(Fraction first, Fraction second)
  47. {
  48.     Fraction dif;
  49.     dif.setNum(first.num*second.den-second.num*first.den);
  50.     dif.setDen(first.den*second.den);
  51.     return dif;
  52. }
  53. Fraction Fraction::mult(Fraction first, Fraction second)
  54. {
  55.     Fraction prod;
  56.     prod.setNum(first.num*second.num);
  57.     prod.setDen(first.den*second.den);
  58.     return prod;
  59. }
  60. Fraction Fraction::div(Fraction first, Fraction second)
  61. {
  62.     Fraction div;
  63.     div.setNum(first.num*second.den);
  64.     div.setDen(first.den*second.num);
  65.     return div;
  66. }
  67. /*Fraction Fraction::inc(Fraction f)
  68. {
  69.     Fraction temp;
  70.     temp.setNum(num+=den);
  71.     return temp;
  72. }*/
  73. void Fraction::print()
  74. {
  75.     Fraction f;
  76.     f.setNum(Fraction::getNum()/gcd(Fraction::getNum(),Fraction::getDen()));
  77.     f.setDen(Fraction::getDen()/gcd(Fraction::getNum(),Fraction::getDen()));
  78.     std::cout<<f.getNum()<<"/"<<f.getDen()<<"\n";
  79. }
  80. int main()
  81. {
  82.         Fraction f1, f2, f3, f4, f5, f6, f7;
  83.         f1.setDen(2L);
  84.         f1.setNum(0L);
  85.         f1.print();
  86.         f2.setDen(4L);
  87.         f2.setNum(3L);
  88.         f2.print();
  89.         f3.add(f1,f2);
  90.         f3.print();
  91.         f4.sub(f1, f2);
  92.         f4.print();
  93.         f5.mult(f1, f2);
  94.         f5.print();
  95.         f6.div(f1, f2);
  96.         f6.print();
  97.         //f7.inc(f1);
  98.         //f7.print();
  99. }
Advertisement
Add Comment
Please, Sign In to add comment