Advertisement
Guest User

reducedfraction

a guest
Mar 30th, 2015
248
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.85 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. class Fraction
  6. {
  7. private:
  8. int numerator;
  9. int denominator;
  10. public:
  11. double divide();
  12. void setNumerator(int numerVal);
  13. void setDenominator(int denomVal);
  14. void reduction();
  15. };
  16.  
  17.  
  18.  
  19. int main()
  20. {
  21. int numerator_val,
  22. denominator_val;
  23. Fraction fraction1;
  24.  
  25. cout << "what is the numerator ";
  26. cin >> numerator_val;
  27. fraction1.setNumerator(numerator_val);
  28.  
  29. cout << "what is the denominator ";
  30. cin >> denominator_val;
  31. fraction1.setDenominator(denominator_val);
  32.  
  33. cout << "the fraction in decimal is " << fraction1.divide() << endl;
  34. fraction1.reduction();
  35. return 0;
  36. }
  37.  
  38. double Fraction::divide()
  39. {
  40. return (static_cast<double>(numerator) / static_cast<double>(denominator));
  41. }
  42.  
  43.  
  44. void Fraction::setNumerator(int numerVal)
  45. {
  46. numerator = numerVal;
  47. }
  48.  
  49. void Fraction::setDenominator(int denomVal)
  50. {
  51. denominator = denomVal;
  52. }
  53.  
  54. void Fraction::reduction()
  55. {
  56. int min,
  57. max,
  58. maxFactor;
  59. bool factorFound = false;
  60.  
  61. if(numerator > denominator)
  62. {
  63. min = denominator;
  64. max = numerator;
  65. }
  66. else
  67. {
  68. min = numerator;
  69. max = denominator;
  70. }
  71.  
  72. /*for (int i = min; i > 0; i--)
  73. {
  74. if((max % i == 0) && (min % i == 0))
  75. {
  76. maxFactor = i;
  77. cout << maxFactor << endl;
  78. }
  79. }*/
  80.  
  81. int i = min;
  82. while (i > 0 && factorFound == false)
  83. {
  84. if((max % i == 0) && (min % i == 0))
  85. {
  86. maxFactor = i;
  87. factorFound = true;
  88. }
  89.  
  90. i--;
  91. }
  92.  
  93. cout << "Your fraction reduced is " << (numerator / maxFactor) << " / " << (denominator / maxFactor)<< endl;
  94.  
  95.  
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement