| 
	
		|  Autor | Tema: Mi programa que dibuja un cuadrado  (Leído 4,718 veces) |  
	| 
			| 
					
						| Mario Olivera 
								
								 Desconectado 
								Mensajes: 108
								
								 
								Ser loco es pensar diferente.
								
								
								
								
								
								   | 
 
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 Cuadrado.h#include <iostream>using std::cin;using std::cout;using std::endl; #include "Cuadrado.h" int main(){	//Inicializacion de variables	int anchoCuadrado;	int largoCuadrado;	cout <<"Ingrese el ancho del cuadrado: ";	cin >> anchoCuadrado;	cout <<"Ingrese el largo del cuadrado: ";	cin >> largoCuadrado;	cout <<endl <<endl <<endl; 	Cuadrado Cuadrado1(anchoCuadrado,largoCuadrado);	cin.get();	cin.get();	return 0;}
 Cuadrado.cppclass Cuadrado{public:	Cuadrado(int,int);	void imprime(int,int);private:	int anchoCuadrado;	int largoCuadrado;};
 #include <iostream>using std::cout;using std::cin;using std::endl; #include <string>using std::string; #include "Cuadrado.h" Cuadrado::Cuadrado(int ancho,int largo){	imprime(ancho,largo);} void Cuadrado::imprime(int a, int l){	//Tamaño Cuadrado	anchoCuadrado= a;	largoCuadrado= l;  	string caracter = "*";	int contador = 0; 	// HORIZONTAL	while (contador < anchoCuadrado)	{		cout <<caracter;		++contador;	} 	cout <<endl;	contador = 0; //establece a 0 para el lugar de abajo 	//VERTICAL 	largoCuadrado -= 2; //por los caracteres que se usa arriba y abajo	int contadorlargo = 0; 	while (contadorlargo != largoCuadrado)	{		while (contador < anchoCuadrado)	    {		    cout <<caracter;		    ++contador;	    }		cout <<endl;		contador=0;		++contadorlargo;	} 	// HORIZONTAL	while (contador < anchoCuadrado)	{		cout <<caracter;		++contador;	}}  
 Eso es todo   
 
 |  
						| 
								|  |  
								| « Última modificación: 22 Julio 2014, 19:58 pm por 718208 » |  En línea | 
 
 |  |  |  | 
			| 
					
						| CalgaryCorpus | 
 
¿Por que solicitas ancho y largo del cuadrado, si ellos son siempre iguales?
 
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| ivancea96 
								       
								
								 Desconectado 
								Mensajes: 3.412
								
								 
								ASMático
								
								
								
								
								
								     | 
 
En un lugar pones "espacio()", mientras que en otro pones directamente "cout<<endl;".Aclárate xD
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| Mario Olivera 
								
								 Desconectado 
								Mensajes: 108
								
								 
								Ser loco es pensar diferente.
								
								
								
								
								
								   | 
 
¿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 
								Mensajes: 53
								
								
								
								
								
								   | 
 
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 
								Mensajes: 108
								
								 
								Ser loco es pensar diferente.
								
								
								
								
								
								   | 
 
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    |  
						| 
								|  |  
								| « Última modificación: 22 Julio 2014, 19:57 pm por 718208 » |  En línea | 
 
 |  |  |  | 
			| 
					
						| CalgaryCorpus | 
 
¿que ocurre si se ingresan numeros negativos? |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| ivancea96 
								       
								
								 Desconectado 
								Mensajes: 3.412
								
								 
								ASMático
								
								
								
								
								
								     | 
 
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 
								Mensajes: 1.248
								
								
								
								
								
								   | 
 
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 
								Mensajes: 108
								
								 
								Ser loco es pensar diferente.
								
								
								
								
								
								   | 
 
¿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    |  
						| 
								|  |  
								| « Última modificación: 22 Julio 2014, 19:46 pm por 718208 » |  En línea | 
 
 |  |  |  |  |  
 
	
 
 
				
					
						| 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,616 |  13 Noviembre 2011, 00:15 am por david_quiroz19
 |  
						|   |   | Cuadrado Mágico Programación C/C++
 | Black Lotus | 5 | 5,407 |  15 Marzo 2013, 20:58 pm por Black Lotus
 |  
						|   |   | Futuro al cuadrado Noticias
 | wolfbcn | 0 | 1,487 |  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,787 |  14 Mayo 2015, 10:29 am por Seyro97
 |  
						|   |   | JPanel no dibuja imagen [inherit] Java
 | bash | 2 | 2,481 |  13 Diciembre 2016, 17:30 pm por bash
 |    |