csansoon

Sessio 8: Lavadora

Apr 5th, 2019
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.26 KB | None | 0 0
  1. /**
  2.  * @mainpage Ejemplo de diseño modular:  Gestión de una lavadora.
  3.  
  4. En este ejemplo se construye un programa modular que ofrece un menú de opciones para gestionar una lavadora. Se introducen las clases <em>Lavadora</em>, <em>Cubeta</em> y <em>Prenda</em>.
  5.  
  6. Sólo se documentan elementos públicos. En una próxima sesión se verá un ejemplo
  7. de proyecto completamente documentado, incluyendo los elementos privados.
  8. */
  9.  
  10. /** @file pro2_s8.cc
  11.     @brief Programa principal para el ejercicio <em>Gestión de una lavadora</em>.
  12. */
  13.  
  14. // para que el diagrama modular quede bien se han escrito includes redundantes;
  15. // en los ficheros .hh de la documentación de las clases ocurre lo mismo.
  16. #include "Prenda.hh"
  17. #include "Lavadora.hh"
  18. #include "Cubeta.hh"
  19. #ifndef NO_DIAGRAM // explicado en Prenda.hh
  20. #include "readbool.hh"
  21. #endif
  22.  
  23. /** @brief Programa principal para el ejercicio <em>Gestión de una lavadora</em>.
  24. */
  25.  
  26. int main () {
  27.     Lavadora lavadora;
  28.     Cubeta cubeta;
  29.     int input, peso;
  30.     bool color;
  31.  
  32.  
  33.     while (cin >> input and input != -8) {
  34.         if (input == -1)
  35.         {
  36.             cin >> peso;
  37.             color = readbool();
  38.             lavadora.inicializar(peso,color);
  39.         }
  40.        
  41.         else if (input == -2)
  42.         {
  43.             cin >> peso;
  44.             color = readbool();
  45.             if (color == lavadora.consultar_color()     and     peso + lavadora.consultar_peso() <= lavadora.consultar_peso_maximo()) {
  46.                 Prenda prenda(color,peso);
  47.                 lavadora.anadir_prenda(prenda);
  48.             }
  49.         }
  50.        
  51.         else if (input == -3)
  52.         {
  53.             cin >> peso;
  54.             color = readbool();
  55.             Prenda prenda(peso,color);
  56.             cubeta.anadir_prenda(prenda);
  57.         }
  58.        
  59.         else if (input == -4)
  60.         {
  61.             if (lavadora.esta_inicializada()) cubeta.completar_lavadora(lavadora);
  62.         }
  63.        
  64.         else if (input == -5)
  65.         {
  66.             lavadora.lavado();
  67.         }
  68.        
  69.         else if (input == -6)
  70.         {
  71.             cout << "  Cubeta:" << endl;
  72.             cubeta.escribir();
  73.         }
  74.        
  75.         else if (input == -7)
  76.         {
  77.             cout << "   Lavadora:" << endl;
  78.             lavadora.escribir();
  79.         }
  80.     }
  81. }
Advertisement
Add Comment
Please, Sign In to add comment