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
Saludos!
Dejo mi desarrollo para el que lo quiera ver, estaría bueno que antes hagan el ejercicio.
main.cpp
Código
#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
class cabezal { public: //funciones obtener void obtenerCuadrado(int); private: int cuadrado; };
cabezal.cpp
Código
#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; } }