Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Mario Olivera en 12 Mayo 2015, 21:33 pm



Título: [APORTE] Ejercicio en C++: programa que dibuje un cuadrado
Publicado por: Mario Olivera en 12 Mayo 2015, 21:33 pm
 Hola gente, vengo a dejarles un ejercicio, para aquellos que quieran practicar los bucles, o ciclos, un ejercicio que dice lo siguiente:

Ejercicio: Escriba un programa que pida al usuario que introduzca el tamaño del lado de un cuadrado y que muestre un cuadrado hueco de ese tamaño, compuesto de asteriscos y espacios en blanco. Su programa debe funcionar con cuadrados que tengan lados de todas las longitudes entre 1 y 20. por ejemplo, si su programa lee un tamaño de 5, debe imprimir:

*****
*      *
*      *
*      *
*****

Espero les resulte facil, para el que este practicando los ciclos les va a servir!

Comenten sus códigos jeje  :P

Saludos!  ;D

Dejo mi desarrollo para el que lo quiera ver, estaría bueno que antes hagan el ejercicio.

main.cpp
Código
  1. #include <iostream>
  2. using std::cin;
  3. using std::endl;
  4. using std::cout;
  5.  
  6. #include "cabezal.h"
  7.  
  8. int main()
  9. {
  10. int auxCuadrado;
  11. cout <<"Ingrese el lado del cuadrado: ";
  12. cin  >>auxCuadrado;
  13.  
  14. while (auxCuadrado < 1)
  15. {
  16. cout <<"\nERROR!: Ingrese el lado del cuadrado: ";
  17. cin  >>auxCuadrado;
  18. }
  19.  
  20. cabezal aplicacion;
  21. aplicacion.obtenerCuadrado(auxCuadrado);
  22. cin.get();
  23. cin.get();
  24. return 0;
  25. }

cabezal.h
Código
  1. class cabezal
  2. {
  3. public:
  4. //funciones obtener
  5. void obtenerCuadrado(int);
  6.  
  7. private:
  8. int cuadrado;
  9. };

cabezal.cpp
Código
  1. #include <iostream>
  2. using std::cin;
  3. using std::endl;
  4. using std::cout;
  5.  
  6. #include "cabezal.h"
  7.  
  8. void cabezal::obtenerCuadrado(int Cuadrado)
  9. {
  10. int anchoUno=0;
  11.  
  12. if (Cuadrado == 1)
  13. {
  14. cout <<"*" <<endl;
  15. }
  16.  
  17. else
  18. {
  19. while (anchoUno != Cuadrado)
  20. {
  21. cout <<"*";
  22. ++anchoUno;
  23. }
  24.  
  25. anchoUno= 0;
  26. cout <<endl;
  27.  
  28. int auxLineas=1;
  29.  
  30. while ((Cuadrado >= 3) && ( auxLineas <= (Cuadrado - 2)))
  31. {
  32. int auxAncho= 0;
  33. cout <<"*";
  34.  
  35. while (auxAncho < (Cuadrado -2))
  36. {
  37. cout <<" ";
  38. ++auxAncho;
  39. }
  40. cout <<"*" <<endl;
  41. ++auxLineas;
  42. }
  43.  
  44. while (anchoUno != Cuadrado)
  45. {
  46. cout <<"*";
  47. ++anchoUno;
  48. }
  49. cout <<endl;
  50. }
  51. }


Título: Re: [APORTE] Ejercicio en C++: programa que dibuje un cuadrado
Publicado por: Seyro97 en 14 Mayo 2015, 10:29 am
Está muy bien tu código, pero te aconsejo que des nombres más descriptivos a las funciones/variables. Por ejemplo, en vez de llamar a la función 'obtenerCuradrado' así, podrías llamarla 'dibujarCuadrado'. Siempre busca nombres que se adecuen mejor a la función que realizan.

¡Sigue así!