Autor
|
Tema: Mi programa que dibuja un cuadrado (Leído 4,361 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#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.hclass Cuadrado { public: Cuadrado(int,int); void imprime(int,int); private: int anchoCuadrado; int largoCuadrado; };
Cuadrado.cpp#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,429
|
13 Noviembre 2011, 00:15 am
por david_quiroz19
|
|
|
Cuadrado Mágico
Programación C/C++
|
Black Lotus
|
5
|
4,911
|
15 Marzo 2013, 20:58 pm
por Black Lotus
|
|
|
Futuro al cuadrado
Noticias
|
wolfbcn
|
0
|
1,262
|
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
|
14 Mayo 2015, 10:29 am
por Seyro97
|
|
|
JPanel no dibuja imagen [inherit]
Java
|
bash
|
2
|
2,179
|
13 Diciembre 2016, 17:30 pm
por bash
|
|