Autor
|
Tema: [Solucionado] Problema en codigo C++, no se ejecuta el else (Leído 6,672 veces)
|
Mario Olivera
Desconectado
Mensajes: 108
Ser loco es pensar diferente.
|
Hola gente, estoy teniendo un problema con un código, el tema es que tengo que dibujar esto en el programa: ******** ******** ******** ******** ******** ******** ******** ********
Y nosé por qué no se ejecuta el else para la línea que tiene un espacio (osea la 2da, 4ta,6ta,8va) Y quiero hacerlo con while#include <iostream> using std::cout; using std::endl; using std::cin; class Tablero { public: void imprime() { linea=0; while (linea != 8) // itera 8 veces. { if (linea == 0 || linea ==2 || linea== 4 || linea ==6) { int dibujaLinea = 0; while (dibujaLinea > 9) { cout <<"*"; ++dibujaLinea; } } else { cout <<" "; int dibujaLinea= 0; while (dibujaLinea < 8) // itera 7 veces { cout <<"*"; ++dibujaLinea; } } cout <<endl; ++linea; } } private: int linea; }; int main() { Tablero Tablero1; Tablero1.imprime(); cin.get(); return 0; }
Desde ya agradezco cualquier ayuda
|
|
« Última modificación: 25 Julio 2014, 23:41 pm por 718208 »
|
En línea
|
|
|
|
Blaster
Desconectado
Mensajes: 190
|
La condición del segundo while debe quedar así: while (dibujaLinea < 9) // Aqui el <
Y el tercero así: while (dibujaLinea < 9) // Aqui el 9
Saludos
|
|
|
En línea
|
|
|
|
Mario Olivera
Desconectado
Mensajes: 108
Ser loco es pensar diferente.
|
La condición del segundo while debe quedar así: while (dibujaLinea < 9) // Aqui el <
Y el tercero así: while (dibujaLinea < 9) // Aqui el 9
Saludos Muchas gracias por la ayuda Blaster!
|
|
« Última modificación: 25 Julio 2014, 23:43 pm por 718208 »
|
En línea
|
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Perdona una cosa 718208. El caso es que en todos los códigos que te veo publicar, usas clases, cuando lo más acertados ería una función. En caso de que solo muestres una parte del código, pues vale. Pero si ese es todo el código, recuerda que tus clases consumen memoria, y al final acaban haciendo lo mismo que una función.
|
|
|
En línea
|
|
|
|
eferion
Desconectado
Mensajes: 1.248
|
Perdona una cosa 718208. El caso es que en todos los códigos que te veo publicar, usas clases, cuando lo más acertados ería una función. En caso de que solo muestres una parte del código, pues vale. Pero si ese es todo el código, recuerda que tus clases consumen memoria, y al final acaban haciendo lo mismo que una función.
Consumen memoria... esa clase consume el equivalente a un int... 4 bytes ... tampoco hay que dramatizar jejejeje Yo es que soy partidario de poner todo en clases... permite organizar el código mejor... lo que sucede es que funciones como estas pueden perfectamente ser estáticas, no hace falta crear una instancia de la clase para manejarlas.
|
|
|
En línea
|
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Yo siempre hago clases para todo. Pero no una clase por función xD
|
|
|
En línea
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
Hola gente, estoy teniendo un problema con un código, el tema es que tengo que dibujar esto en el programa: ******** ******** ******** ******** ******** ******** ******** ********
................................................... Desde ya agradezco cualquier ayuda Creo que "desparramas" el código, en buena parte por el uso de los while. Un poco más "cortito": public: void imprime() { for ( int i = 0 ; i < linea ; i++ ){ for ( int j = 0 ; j < linea ; j++ ) ( i % 2 != 0 && j == 0 ) ? cout << ' ' : cout << '*' ; cout << endl ; } }
¡¡¡¡ Saluditos! ..... !!!!
|
|
« Última modificación: 26 Julio 2014, 07:13 am por leosansan »
|
En línea
|
|
|
|
Blaster
Desconectado
Mensajes: 190
|
Con una pequeña modificación lo dibujaríamos tal como muestra el ejem: void imprime() { for ( int i = 0, linea = 8; i < linea ; i++ ) { for ( int j = 0, linea = 8; j < linea ; j++ ) ( i % 2 != 0 && j == 0 ) ? ++linea, cout << ' ' : cout << '*' ; cout << endl ; } }
Saludos
|
|
|
En línea
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
Con una pequeña modificación lo dibujaríamos tal como muestra el ejem: .............................
Salida a tu código: ******** ******** ********* ********* ********** ********** *********** *********** ************ ************ ************* ************* ************** ************** ***************
Y de paso rectifico el mío: void imprime() { for ( int i = 0 ; i < linea ; i++ ){ for ( int j = 0 ; j < linea ; j++ ) ( i % 2 != 0 && j == 0 ) ? cout << " *" : cout << '*' ; cout << endl ; }
Con la salida deseada: ******** ******** ******** ******** ******** ******** ******** ********
¡¡¡¡ Saluditos! ..... !!!!
|
|
« Última modificación: 26 Julio 2014, 17:49 pm por leosansan »
|
En línea
|
|
|
|
Blaster
Desconectado
Mensajes: 190
|
Salida a tu código: ....................
Es imposible que obtengas esa salida con el código que postee Y de paso rectifico el mío:
Con la modificación que le hiciste al actual obvio obtendrás la salida esperada, antes lo dibujaba de esta forma: Salida anterior: ******** ******* ******** ******* ******** ******* ******** *******
|
|
« Última modificación: 26 Julio 2014, 18:08 pm por Blaster »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Compila bien, pero no ejecuta !! Solucionado
Java
|
Vingilot
|
4
|
4,152
|
8 Enero 2008, 15:20 pm
por Vingilot
|
|
|
php no se ejecuta, en su lugar descarga el codigo
PHP
|
twoz
|
3
|
5,696
|
21 Abril 2009, 14:53 pm
por decrypt
|
|
|
[Solucionado] Problema con codigo de RecursosVisualBasic
Programación Visual Basic
|
Elemental Code
|
4
|
3,547
|
6 Febrero 2011, 23:06 pm
por Elemental Code
|
|
|
[Solucionado] Problema en codigo C++
Programación C/C++
|
Mario Olivera
|
5
|
3,867
|
25 Julio 2014, 22:05 pm
por Mario Olivera
|
|
|
[Solucionado]Problema con función, crea e imprime datos pero no ejecuta.
« 1 2 »
PHP
|
deadfrommayhem
|
13
|
8,839
|
6 Agosto 2017, 00:07 am
por deadfrommayhem
|
|