[APORTE] Ejercicio en C++: programa que dibuje un cuadrado

Iniciado por Mario Olivera, 12 Mayo 2015, 21:33 PM

0 Miembros y 1 Visitante están viendo este tema.

Mario Olivera

 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 (cpp) [Seleccionar]
#include <iostream>
using std::cin;
using std::endl;
using std::cout;

#include "cabezal.h"

int main()
{
int auxCuadrado;
cout <<"Ingrese el lado del cuadrado: ";
cin  >>auxCuadrado;

while (auxCuadrado < 1)
{
cout <<"\nERROR!: Ingrese el lado del cuadrado: ";
cin  >>auxCuadrado;
}

cabezal aplicacion;
aplicacion.obtenerCuadrado(auxCuadrado);
cin.get();
cin.get();
return 0;
}


cabezal.h
Código (cpp) [Seleccionar]
class cabezal
{
public:
//funciones obtener
void obtenerCuadrado(int);

private:
int cuadrado;
};


cabezal.cpp
Código (cpp) [Seleccionar]
#include <iostream>
using std::cin;
using std::endl;
using std::cout;

#include "cabezal.h"

void cabezal::obtenerCuadrado(int Cuadrado)
{
int anchoUno=0;

if (Cuadrado == 1)
{
cout <<"*" <<endl;
}

else
{
while (anchoUno != Cuadrado)
{
cout <<"*";
++anchoUno;
}

anchoUno= 0;
cout <<endl;

int auxLineas=1;

while ((Cuadrado >= 3) && ( auxLineas <= (Cuadrado - 2)))
{
int auxAncho= 0;
cout <<"*";

while (auxAncho < (Cuadrado -2))
{
cout <<" ";
++auxAncho;
}
cout <<"*" <<endl;
++auxLineas;
}

while (anchoUno != Cuadrado)
{
cout <<"*";
++anchoUno;
}
cout <<endl;
}
}

Seyro97

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í!
Carlos Peláez González. visita http://www.taringa.net/EnjoyC para muchos tutoriales!