Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: alexguz en 16 Noviembre 2015, 09:27 am



Título: como se hace donde dice: "imprimirá un cuadrado con puras ‘X’...
Publicado por: alexguz en 16 Noviembre 2015, 09:27 am
Realizar un programa que calcule el area de un cuadrado utilizando funciones teniendo en cuenta el siguiente menú.

Principal:

1] Capturar Datos

2] Calcular Área

3] Imprimir

4] Salir

En la opción 1 se capturar los datos necesarios para calcular el área de un cuadrado.

En la opción 2 se calculara el área del cuadrado

En la opción 3, se mostrara un submenú:

1] Imprimir Área

2] Imprimir Grafico

3] Regresar al menú anterior

En la opción 1 se imprimirá el valor numérico del área calculada en la opción 2 del menú principal.

En la opción 2 se imprimirá un cuadrado con puras ‘X’ teniendo en cuanta el tamaño del cuadrado capturado en la opción 1 del menú principal. Ejemplo

XXX

XXX

XXX


Título: Re: como se hace donde dice: "imprimirá un cuadrado con puras ‘X’...
Publicado por: furciorifa en 16 Noviembre 2015, 20:39 pm
Aquí no se hacen tareas ;D, pero te diré la respuesta , un ciclo for para saltar de fila en fila y un for que imprima las x

                         for 2 imprime 3 veces x
for 1 fila 1         x  x  x
for 1 fila 2         x  x  x

for 1 fila n      ....


Título: Re: como se hace donde dice: "imprimirá un cuadrado con puras ‘X’...
Publicado por: Zodiak98 en 17 Noviembre 2015, 02:39 am
Supongo que lo más "difícil" es dibujar el cuadrado. Pues nada, como ha dicho furciorifa, 2 búcles, uno dentro de otro (anidados), el de dentro pintará cada una de las columnas y el de afuera se desplazará por las filas.

No debería hacer esto, pero en fin, sería así:
Código
  1. void pintar_cuadrado(const int base, const int altura) {
  2.    std::cout << "--- GRAFICA ---\n" << std::endl;
  3.  
  4.    for(int i = 0; i < altura; i++) {
  5.        for(int j = 0; j < base; ++j) {
  6.            std::cout << "X";
  7.        }
  8.        std::cout << std::endl;
  9.    }
  10. }
  11.