elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Mi programa que dibuja un cuadrado
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Mi programa que dibuja un cuadrado  (Leído 4,361 veces)
Mario Olivera

Desconectado Desconectado

Mensajes: 108


Ser loco es pensar diferente.


Ver Perfil
Mi programa que dibuja un cuadrado
« en: 21 Julio 2014, 07:48 am »

Hola gente, pensé en hacer un programa con instrucciones while (mientras) que lo que haga sea pedir el ancho de un cuadrado y el largo, y el programa lo dibuja con *, quisas sea algo facil de programar con otro tipos de funciones que posea C++ pero la verdad es que yo lo hice con while y me rompí un poco la cabeza, asi que les dejo el codigo para que lo vean los que tengan dificultades con while o simplemente para entender un poco como trabaja el programa.

Lo hice separando la interfaz de la implementacion.

Main.cpp

Código
  1. #include <iostream>
  2. using std::cin;
  3. using std::cout;
  4. using std::endl;
  5.  
  6. #include "Cuadrado.h"
  7.  
  8. int main()
  9. {
  10. //Inicializacion de variables
  11. int anchoCuadrado;
  12. int largoCuadrado;
  13. cout <<"Ingrese el ancho del cuadrado: ";
  14. cin >> anchoCuadrado;
  15. cout <<"Ingrese el largo del cuadrado: ";
  16. cin >> largoCuadrado;
  17. cout <<endl <<endl <<endl;
  18.  
  19. Cuadrado Cuadrado1(anchoCuadrado,largoCuadrado);
  20. cin.get();
  21. cin.get();
  22. return 0;
  23. }

Cuadrado.h

Código
  1. class Cuadrado
  2. {
  3. public:
  4. Cuadrado(int,int);
  5. void imprime(int,int);
  6. private:
  7. int anchoCuadrado;
  8. int largoCuadrado;
  9. };

Cuadrado.cpp

Código
  1. #include <iostream>
  2. using std::cout;
  3. using std::cin;
  4. using std::endl;
  5.  
  6. #include <string>
  7. using std::string;
  8.  
  9. #include "Cuadrado.h"
  10.  
  11. Cuadrado::Cuadrado(int ancho,int largo)
  12. {
  13. imprime(ancho,largo);
  14. }
  15.  
  16. void Cuadrado::imprime(int a, int l)
  17. {
  18. //Tamaño Cuadrado
  19. anchoCuadrado= a;
  20. largoCuadrado= l;
  21.  
  22.  
  23. string caracter = "*";
  24. int contador = 0;
  25.  
  26. // HORIZONTAL
  27. while (contador < anchoCuadrado)
  28. {
  29. cout <<caracter;
  30. ++contador;
  31. }
  32.  
  33. cout <<endl;
  34. contador = 0; //establece a 0 para el lugar de abajo
  35.  
  36. //VERTICAL
  37.  
  38. largoCuadrado -= 2; //por los caracteres que se usa arriba y abajo
  39. int contadorlargo = 0;
  40.  
  41. while (contadorlargo != largoCuadrado)
  42. {
  43. while (contador < anchoCuadrado)
  44.    {
  45.    cout <<caracter;
  46.    ++contador;
  47.    }
  48. cout <<endl;
  49. contador=0;
  50. ++contadorlargo;
  51. }
  52.  
  53. // HORIZONTAL
  54. while (contador < anchoCuadrado)
  55. {
  56. cout <<caracter;
  57. ++contador;
  58. }
  59. }
  60.  
  61.  


Eso es todo  ;D


« Última modificación: 22 Julio 2014, 19:58 pm por 718208 » En línea

CalgaryCorpus


Desconectado Desconectado

Mensajes: 323


Ver Perfil WWW
Re: Mi programa que dibuja un cuadrado
« Respuesta #1 en: 21 Julio 2014, 20:33 pm »

¿Por que solicitas ancho y largo del cuadrado, si ellos son siempre iguales?


En línea

Aqui mi perfil en LinkedIn, invitame un cafe aqui
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Mi programa que dibuja un cuadrado
« Respuesta #2 en: 21 Julio 2014, 21:57 pm »

En un lugar pones "espacio()", mientras que en otro pones directamente "cout<<endl;".
Aclárate xD
En línea

Mario Olivera

Desconectado Desconectado

Mensajes: 108


Ser loco es pensar diferente.


Ver Perfil
Re: Mi programa que dibuja un cuadrado
« Respuesta #3 en: 22 Julio 2014, 03:11 am »

¿Por que solicitas ancho y largo del cuadrado, si ellos son siempre iguales?


cómo qué son siempre iguales? son datos ingresados por un actor/usuario  :-\

En un lugar pones "espacio()", mientras que en otro pones directamente "cout<<endl;".
Aclárate xD

JAJAJA la verdad es que estaba probando con un while y no podía usar el endl porque se me imprimía una vez el salto de línea y hice esa función y quedó xD, cansancio nomás pero ahí edité el código
« Última modificación: 22 Julio 2014, 19:55 pm por 718208 » En línea

kutcher

Desconectado Desconectado

Mensajes: 53


Ver Perfil
Re: Mi programa que dibuja un cuadrado
« Respuesta #4 en: 22 Julio 2014, 03:27 am »

como que son siempre iguales? son datos ingresados por un actor/usuario

Lo que dice CalgaryCorpus es cierto, al tratarse de un cuadrado todos los lados del mismo son iguales.
En línea

Mario Olivera

Desconectado Desconectado

Mensajes: 108


Ser loco es pensar diferente.


Ver Perfil
Re: Mi programa que dibuja un cuadrado
« Respuesta #5 en: 22 Julio 2014, 06:47 am »

Lo que dice CalgaryCorpus es cierto, al tratarse de un cuadrado todos los lados del mismo son iguales.

SISI, es cierto en realidad puede dibujar un cuadrado o un rectángulo, puse para que el actor/usuario ingrese el largo y el ancho para que se pueda dibujar cualquiera de los dos, pero el ejercicio me pedia que dibuje un cuadrado  :laugh:
« Última modificación: 22 Julio 2014, 19:57 pm por 718208 » En línea

CalgaryCorpus


Desconectado Desconectado

Mensajes: 323


Ver Perfil WWW
Re: Mi programa que dibuja un cuadrado
« Respuesta #6 en: 22 Julio 2014, 07:00 am »

¿que ocurre si se ingresan numeros negativos?
En línea

Aqui mi perfil en LinkedIn, invitame un cafe aqui
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Mi programa que dibuja un cuadrado
« Respuesta #7 en: 22 Julio 2014, 10:44 am »

Dado que el método imprime es privado, creo que sería más conveniente hacer una función en vez de una clase, ya que la clase se quedará en memoria sin hacer nada.
« Última modificación: 22 Julio 2014, 12:07 pm por Eternal Idol » En línea

eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Mi programa que dibuja un cuadrado
« Respuesta #8 en: 22 Julio 2014, 11:13 am »

Dado que el método imprime es privado, creo que sería más conveniente hacer una función en vez de una clase, ya que la clase se quedará en memoria sin hacer nada.

Si la idea es permitir la creación de una escena en la que se van insertando elementos, lo suyo sería que el método "imprime" sea propio del objeto... así cada objeto de la escena sabe cómo ha de pintarse... claro que en tal caso el método debería ser público y únicamente debería ser llamado por un objeto tipo "escena".

Lo que está claro es que no tiene ningún sentido que el método "imprime" sea privado... una clase que únicamente tiene un constructor y un destructor... salvo excepciones contadas, no sirve absolutamente para nada.
« Última modificación: 22 Julio 2014, 12:07 pm por Eternal Idol » En línea

Mario Olivera

Desconectado Desconectado

Mensajes: 108


Ser loco es pensar diferente.


Ver Perfil
Re: Mi programa que dibuja un cuadrado
« Respuesta #9 en: 22 Julio 2014, 19:43 pm »

¿que ocurre si se ingresan numeros negativos?

No se dibuja la figura, en éste caso el cuadrado, igual con instrucciones if...else se puede editar el código para que si son números negativos los pida devuelta y también se puede hacer otra que determine si en realidad se va a imprimir un cuadrado o un rectángulo

Si la idea es permitir la creación de una escena en la que se van insertando elementos, lo suyo sería que el método "imprime" sea propio del objeto... así cada objeto de la escena sabe cómo ha de pintarse... claro que en tal caso el método debería ser público y únicamente debería ser llamado por un objeto tipo "escena".

Lo que está claro es que no tiene ningún sentido que el método "imprime" sea privado... una clase que únicamente tiene un constructor y un destructor... salvo excepciones contadas, no sirve absolutamente para nada.

Ahí puse la función miembro imprime a public, pues la verdad es que nose por qué lo hice  :P

« Última modificación: 22 Julio 2014, 19:46 pm por 718208 » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Programa en C sharp que genera un cuadrado magico , suma sus filas y columnas
.NET (C#, VB.NET, ASP)
david_quiroz19 0 9,429 Último mensaje 13 Noviembre 2011, 00:15 am
por david_quiroz19
Cuadrado Mágico
Programación C/C++
Black Lotus 5 4,911 Último mensaje 15 Marzo 2013, 20:58 pm
por Black Lotus
Futuro al cuadrado
Noticias
wolfbcn 0 1,262 Último mensaje 10 Julio 2014, 01:42 am
por wolfbcn
[APORTE] Ejercicio en C++: programa que dibuje un cuadrado
Programación C/C++
Mario Olivera 1 7,393 Último mensaje 14 Mayo 2015, 10:29 am
por Seyro97
JPanel no dibuja imagen [inherit]
Java
bash 2 2,179 Último mensaje 13 Diciembre 2016, 17:30 pm
por bash
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines