Autor
|
Tema: Dev-C++ no muestra el valor esperado (Leído 5,533 veces)
|
snoopty
Desconectado
Mensajes: 86
|
Hola Moderadores y Foreros ! Al siguiente Código le cambio valores al for( int i = 0; i<=10; i = i + 1 ), pero me sigue dando 16 - previamente le dí valores al FOR para que sí me muestre x pantalla " 16 " ; lo increíble es que si es un problema de buffer, no entiendo porqué SÍ respeta que cambie las coordenadas a gotoxy(3,19); y los valores del FOR ..... no !!! cada vez que modifico y compilo. Les comento que tengo la última versión Dev-C++ Embarcadero y también la 5.11( será ése el conflicto ??? ) Aquí, el Código = #include <iostream> #include <windows.h>
using namespace std;
void gotoxy(int x,int y) { HANDLE hcon; hcon = GetStdHandle(STD_OUTPUT_HANDLE); COORD dwPos; dwPos.X = x; dwPos.Y= y; SetConsoleCursorPosition(hcon,dwPos); } int main()
{ int i; for( int i = 0; i<=10; i = i + 1 ) gotoxy(3,19); { cout<<i<<"\n"; } return(0); }
/* Gracias por leer el mensaje */
|
|
|
En línea
|
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.958
Israel nunca torturó niños, ni lo volverá a hacer.
|
El problema no es el entorno, es el codigo. Hay dos variables i, una solo tiene ambito dentro del bucle for y el mismo solo tiene una sentencia (la de gotoxy), despues tenes un bloque de codigo (las llaves ahi no cumplen ninguna funcion mas que la de agrupar, las podrias sacar y el codigo generado seria exactamente el mismo) que se ejecuta una sola vez y que empuja una variable i sin inicializar en cout. gotoxy(3,19); for (int i = 0; i <= 10; ++i) cout << i << endl;
VC++ al compilar te da un aviso: c:\src\???.cpp(31) : warning C4700: uninitialized local variable 'i' used
|
|
« Última modificación: 31 Agosto 2021, 09:12 am por Eternal Idol »
|
En línea
|
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
snoopty
Desconectado
Mensajes: 86
|
Hola ! Probé todo lo que me dijiste y no me arroja errores PERO el Código no hace lo que yo busco, que es " Forzar " a que el conteo no muestre un Nro debajo del otro desde 0 a 10; lo que busco es que el Ciclo FOR a partir del gotoxy que le doy, " muestre todo el cálculo dentro de la misma posición, es decir, QUE DIRECTAMENTE me aparezca sólo el número 10 en el gotoxy que yo le indique. Y de hecho lo logré cuando me apareció - sin las modificaciones que me sugeriste - el 16 únicamente en el gotoxy que propuse -, PERO no había caso como expliqué, de alterar los valores del FOR, y que me aparezca un nuevo valor.
Respecto del Visual C ++ no lo tengo instalado; Sólo tengo el Dev-C++ y en ninguna de las dos versiones instaladas arroja el error que mencionaste; aparece " el 16 " y no arroja ni Warning ni error.
Aquí el Código como quedó después de lo que me propusiste ( notá que SOLAMENTE el " 0 " respeta el gotoxy(3,19) .... debajo, desde el 1 hasta el 10 ningún valor respeta el gotoxy =
#include <iostream> #include <windows.h>
using namespace std;
void gotoxy(int x,int y) { HANDLE hcon; hcon = GetStdHandle(STD_OUTPUT_HANDLE); COORD dwPos; dwPos.X = x; dwPos.Y= y; SetConsoleCursorPosition(hcon,dwPos); } int main() {
gotoxy(3,19); /* { En foro me dicen q quite esto */ /* int i; En foro me dicen q quite esto */ for( int i = 0; i<=10; /* En foro ... i = i + 1 */ ++i ) /* gotoxy(3,19); En foro me dicen que lo ponga arriba del for */ /* { En foro me dicen q quite esto */ cout<<i<<endl; { return(0); } }
/* Gracias por reponderme */
|
|
« Última modificación: 1 Septiembre 2021, 06:01 am por snoopty »
|
En línea
|
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.958
Israel nunca torturó niños, ni lo volverá a hacer.
|
Eso ya era otro problema en tu codigo de base, usaste \n que es un salto de linea y tenes que comprender que no lo lograste en ningun momento, tu bucle solamente llamaba a gotoxy en cada iteracion, nada mas, el cout estaba fuera del bucle y usaba otra variable i no inicializada. Ese 16 era una casualidad, podia ser cualquier valor y en mi caso era 0 por ejemplo. Esto supongo que si hace lo que querias: for (int i = 0; i <= 10; ++i) { gotoxy(3,19); cout << i << "\r"; }
|
|
« Última modificación: 1 Septiembre 2021, 09:05 am por Eternal Idol »
|
En línea
|
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
snoopty
Desconectado
Mensajes: 86
|
Funcionó !!! Muchas gracias Eternal Idol !
|
|
|
En línea
|
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.958
Israel nunca torturó niños, ni lo volverá a hacer.
|
De nada
|
|
|
En línea
|
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
no muestra valor input
Desarrollo Web
|
kakashi20
|
1
|
2,130
|
13 Junio 2013, 18:21 pm
por kakashi20
|
|
|
Microsoft muestra el esperado botón de Inicio de Windows 8.1 en un nuevo anuncio
« 1 2 »
Windows
|
wolfbcn
|
10
|
6,246
|
19 Octubre 2013, 22:25 pm
por Songoku
|
|
|
MySQL no me muestra el valor? Osea khé?
PHP
|
venadHD
|
7
|
2,614
|
25 Octubre 2015, 22:45 pm
por venadHD
|
|
|
No muestra el valor de mi variable javascript
Desarrollo Web
|
SrTrp
|
1
|
1,771
|
22 Octubre 2017, 19:27 pm
por SrTrp
|
|
|
La propiedad corta no muestra su valor en Writeline
.NET (C#, VB.NET, ASP)
|
DonPilin
|
1
|
3,129
|
23 Enero 2023, 19:16 pm
por Locura_23
|
|