fabgonber

Untitled

Oct 21st, 2020 (edited)
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.10 KB | None | 0 0
  1. /*
  2.  
  3. De un caballo se sabe: peso, nombre, estatura, fecha de nacimiento (yyyymmdd), raza (arabe, purasangre, percheron, andaluz, cob), genero. Un caballo come, camina, trota, galopa y duerme. Un caballo puede recibir caricas, pero si el caballo es salvaje se encabritará y si es domesticado aceptará la caricia.
  4.  
  5. 1.- Construya el diagrama de clases, se recomienda utilizar dia (http://dia-installer.de/)
  6. 2.- Haga un código en C++ que represente fielmente su diagrama de clases, su código debe tener las clases separadas en archivos.
  7.  
  8. pd: no olvidar constructores, destructores, setters, getters
  9.  
  10. */
  11.  
  12. /* inicio de main */
  13. #include <iostream>
  14. #include "caballo.h";
  15.  
  16. using namespace std;
  17.  
  18. int main() {
  19.   cout << "Ejemplo\n";
  20.  
  21.   int un_peso;
  22.   bool x;
  23.  
  24.   Caballo matias;
  25.  
  26.   // como usar setters con validacion:
  27.   x = false;
  28.   do {
  29.       cout << "ingrese peso ?";
  30.       cin >> un_peso;
  31.       x = matias.setPesoValidado(un_peso);
  32.   }
  33.   while (x!=true);
  34.  
  35.  
  36. }
  37. /* fin de main */
  38.  
  39. /* inicio de caballo.h */
  40. #ifndef CABALLO_H
  41. #define CABALLO_H
  42.  
  43. class Caballo
  44. {
  45.   public:
  46.     // Constructor
  47.     Caballo();
  48.     // Destructor
  49.     ~Caballo();
  50.     // Setters:
  51.     /// void setPeso(int a); // comentado para que exista el validado
  52.     bool setPeso(int a); // peso validado
  53.     void setEstatura(int a);
  54.     void setFechaDeNacimiento(int a);
  55.     void setNombre(string a);
  56.     void setRaza(string a);
  57.     void setGenero(string a);
  58.     // Getters:
  59.     int getPeso();
  60.     int getEstatura();
  61.     int getFechaDeNacimiento();
  62.     string getNombre();
  63.     string getRaza();
  64.     string getGenero();
  65.     // Metodos:
  66.     void trotar();
  67.     void caminar();
  68.     void comer();
  69.     void galopar();
  70.     void dormir();  
  71.  
  72.   protected:
  73.     int peso;
  74.     int estatura;
  75.     string nombre;
  76.     int fechaDeNacimiento;
  77.     string raza;
  78.     string genero;
  79.  
  80.   private:
  81.    
  82. };
  83.  
  84. #endif // CABALLO_H
  85. /* fin de caballo.h */
  86.  
  87. /* inicio de salvaje.h */
  88. #ifndef SALVAJE_H
  89. #define SALVAJE_H
  90.  
  91. class Salvaje : public Caballo
  92. {
  93.   public:
  94.     void recibirCaricias();
  95. };
  96.  
  97. #endif // SALVAJE_H
  98. /* fin de salvaje.h */
  99.  
  100. /* inicio de domesticado.h */
  101. #ifndef DOMESTICADO_H
  102. #define DOMESTICADO_H
  103.  
  104. class Domesticado : public Caballo
  105. {
  106.   public:
  107.     void recibirCaricias();
  108. };
  109.  
  110. #endif // DOMESTICADO_H
  111. /* fin de domesticado.h */
  112.  
  113. /* inicio de caballo.cpp */
  114. #include <iostream>
  115. #include "caballo.h"
  116.  
  117. using namespace std;
  118.  
  119. Caballo::Caballo()
  120. {
  121.     // truco... copie todos los setters y pongales cero.
  122.     this->setPeso(0);
  123.     this->setEstatura(0);
  124.     this->setFechaDeNacimiento(0);
  125.     this->setNombre("");
  126.     this->setRaza("");
  127.     this->setGenero("");
  128. }
  129.  
  130. Caballo::~Caballo()
  131. {
  132.   std::cout << "soy  ";
  133.   std::cout << this->nombre;
  134.   std::cout << " y me suicide" << endl;
  135.  
  136. }
  137.  
  138. /* inicio de caballo.cpp */
  139. #include <iostream>
  140. #include "caballo.h"
  141.  
  142. using namespace std;
  143.  
  144. Caballo::Caballo()
  145. {
  146.     // truco... copie todos los setters y pongales cero.
  147.     this->setPeso(0);
  148.     this->setEstatura(0);
  149.     this->setFechaDeNacimiento(0);
  150.     this->setNombre("");
  151.     this->setRaza("");
  152.     this->setGenero("");
  153. }
  154.  
  155. Caballo::~Caballo()
  156. {
  157.   std::cout << "soy  ";
  158.   std::cout << this->nombre;
  159.   std::cout << " y me suicide" << endl;
  160.  
  161. }
  162.  
  163. /*
  164. // eliminado para que exista el validado.
  165. void Caballo::setPeso(int a)
  166. {
  167.   this->peso = a;
  168. }
  169. */
  170.  
  171. bool Caballo::setPeso(int a)
  172. {
  173.    // con validacion interna
  174.    if (a>0)
  175.    {
  176.     this->peso = a;
  177.     return true;
  178.   }
  179.   else
  180.   {
  181.     return false;
  182.   }
  183.  
  184. }
  185.  
  186. /* fin de caballo.cpp */
  187.  
  188. /* fin de caballo.cpp */
  189.  
  190. /* inicio de salvaje.cpp */
  191. #include <iostream>
  192. #include "caballo.h"
  193. #include "salvaje.h"
  194.  
  195. using namespace std;
  196.  
  197. void Salvaje::recibirCaricias()
  198. {
  199.     cout << "me enoje y me encabrito" << endl;
  200. }
  201. /* fin de salvaje.cpp */
  202.  
  203. /* inicio de domesticado.cpp */
  204. #include <iostream>
  205. #include "caballo.h"
  206. #include "domesticado.h"
  207.  
  208. using namespace std;
  209.  
  210. void Domesticado::recibirCaricias()
  211. {
  212.     cout << "acepto y soy feliz si fuera gato ronronearia" << endl;
  213. }
  214. /* fin de domesticado.cpp */
  215.  
Add Comment
Please, Sign In to add comment