daily pastebin goal
7%
SHARE
TWEET

numerofracciones.cpp

alduncin Feb 12th, 2012 92 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2. Programa: Numero.cpp
  3.  02/02/12
  4. */
  5. #include <iostream>
  6.  
  7. using namespace std;
  8.  
  9. /*#include "Numero.h"
  10. #ifndef __RACIONAL__
  11. #define __RACIONAL__
  12.  
  13. */
  14. class Numero
  15. {
  16.  private:
  17.  int numerador;
  18.  int denominador;
  19.  public:
  20.  Numero()
  21.  {
  22.   this->numerador=0;
  23.   this->denominador=1;
  24.   }
  25.    Numero(const int n, const int d)
  26.    {
  27.     if(d == 0)
  28.          {
  29.          cout << "Error el denominador no puede ser cero" << endl;
  30.          system("pause");
  31. return;
  32. }
  33. this->numerador=n;
  34. this->denominador=d;
  35. }
  36. //destructor :3
  37. ~Numero() {
  38. //cout << "me estoy muriendo D: " << endl;
  39. }
  40. void ToPrint( void )
  41. {
  42. cout << this->numerador << "/" << this->denominador;
  43. }
  44.  
  45. int GetNumerador(void)
  46. {
  47. return numerador;
  48. }
  49. int GetDenominador(void)
  50. {
  51.     return denominador;
  52. }
  53. /*
  54. //esto es un metodo para sumar que tambien podria ser llamado para esa funcion
  55. void Suma(Numero a, Numero b)
  56. {
  57. this->denominador = a.GetDenominador()* b.GetDenominador();
  58. this->numerador = (a.GetNumerador() * b.GetDenominador()) +
  59. (a.GetDenominador() * b.GetNumerador());
  60. }
  61. //pero encambio se sobreescribieron operadores
  62. */
  63. };
  64.  
  65. Numero& operator +(Numero r1, Numero r2)
  66. {
  67. int d,n;
  68. n=(r1.GetNumerador() * r2.GetDenominador())+
  69. (r1.GetDenominador() * r2.GetNumerador());
  70. d=r1.GetDenominador() * r2.GetDenominador();
  71. return *(new Numero(n,d));
  72. }
  73.  
  74. Numero& operator *(Numero r1, Numero r2)
  75. {
  76. int d,n;
  77. n=(r1.GetNumerador() * r2.GetNumerador());
  78. d=r1.GetDenominador() * r2.GetDenominador();
  79. return *(new Numero(n,d));
  80. }
  81.  
  82. Numero& operator /(Numero r1, Numero r2)
  83. {
  84.         int d,n;
  85.         n=r1.GetNumerador()*r2.GetDenominador();
  86.         d=r1.GetDenominador()*r2.GetNumerador();
  87.          return *(new Numero(n,d));
  88.         }
  89.        
  90. Numero& operator -(Numero r1, Numero r2)
  91. {
  92.         int d,n;
  93.         n=(r1.GetNumerador()*r2.GetDenominador())-
  94.         (r2.GetNumerador()*r1.GetDenominador());      
  95.         d=r1.GetDenominador()*r2.GetDenominador();
  96. return *(new Numero(n,d));
  97. }
  98.  
  99. //#endif
  100.  
  101.  
  102. int main( void )
  103. {
  104. int n, d, n1, d1;
  105. cout << "a.Numerador ";
  106. cin >> n;
  107. cout << "a.Denominador ";
  108. cin >> d;
  109. cout << "b.Numerador ";
  110. cin >> n1;
  111. cout << "b.Denominador ";
  112. cin >> d1;
  113. Numero a(n,d), b(n1,d1), c;
  114. /*
  115. a.ToPrint();
  116. cout << "  ";
  117. b.ToPrint();
  118. cout << endl; */
  119.  
  120. //suma
  121. a.ToPrint();
  122. cout << " + ";
  123. b.ToPrint();
  124. cout << " = ";
  125. c = a + b;
  126. c.ToPrint();
  127. cout << endl;
  128. //multiplicacion
  129. a.ToPrint();
  130. cout << " * ";
  131. b.ToPrint();
  132. cout << " = ";
  133. c = a * b;
  134. c.ToPrint();
  135. cout << endl;
  136.  
  137. //division
  138. a.ToPrint();
  139. cout << " / ";
  140. b.ToPrint();
  141. cout <<" = ";
  142. c= a/b;
  143. c.ToPrint();
  144. cout << endl;
  145. //resta
  146. a.ToPrint();
  147. cout << " - ";
  148. b.ToPrint();
  149. cout <<" = ";
  150. c=a-b;
  151. c.ToPrint();
  152. cout<<endl;
  153.  
  154. system("pause");
  155. return 0;
  156. }
RAW Paste Data
Top