el programa se cierra solo

Iniciado por zarkaz, 18 Marzo 2012, 17:27 PM

0 Miembros y 1 Visitante están viendo este tema.

zarkaz

Hola amigos
hace pocos dias me inicie en eso del C
debido a que encontre un libro en la biblioteca de mi colegio
bueno el caso es que ahora haciendo programas sencillos
como el hola mundo y programas de suma y resta
( algo basico )
me eh dado cuenta que el programa se cierra solo  :(
bueno revisando codigo fuente eh colocado lo que supongo yo
un parche temporal getchar();
asi que cuando presione cualquier tecla se cierre
y no se cierre automaticamente como lo hace sin esa linea

ahora la pregunta como hago para evitar que el programa se cierre indefinidamente?

de antemano gracias  :D
-------soy----una---barra-----retrucha---------

Sagrini

Córrelo desde la terminal (Windows>Ejecutar>"cmd">"programa.exe").

x64core

@Zarkaz:
Creo saber a lo que te refieres tu tienes que crear un bucle para los mensajes que le son enviados a tu aplicacion
generalmente el bucle es de esta forma:

SI es para consola y no quieres que se cierre la ventana del DOS tendras que hacer un bucle y escribiendo como condicion la funcion esa que utilizaste o haciendo una condicion tu mismo.

si es para W32:
while (GetMessage(&MYMSG, NULL, 0, 0))
{
if (!TranslateAccelerator(MYMSG.hwnd,NULL, &MYMSG))
{
TranslateMessage(&MYMSG);
DispatchMessage(&MYMSG);
}
}


Generalmente porque algunos programas usan otras APIs que simplifican el codigo y llaman automaticamente a esas APIs en el codigo.
Aun así puedes usar el codigo para W32 en un proyecto de consola.

Runex

Cita de: zarkaz en 18 Marzo 2012, 17:27 PM
Hola amigos
hace pocos dias me inicie en eso del C
debido a que encontre un libro en la biblioteca de mi colegio
bueno el caso es que ahora haciendo programas sencillos
como el hola mundo y programas de suma y resta
( algo basico )
me eh dado cuenta que el programa se cierra solo  :(
bueno revisando codigo fuente eh colocado lo que supongo yo
un parche temporal getchar();
asi que cuando presione cualquier tecla se cierre
y no se cierre automaticamente como lo hace sin esa linea

ahora la pregunta como hago para evitar que el programa se cierre indefinidamente?

de antemano gracias  :D

Si usas Windows y no quieres complicarte la vida, te aconsejo que uses esto:

Código (cpp) [Seleccionar]
system("PAUSE");

o sino, tira de la forma cutre, declara una variable y mediante cin o scanf la llamas :)

Un saludo  ;-)
"No renunciaría al bambú.
Nunca renuciaría a ti.
No te compares con otros" "El me dijo:
El bambú tenía un propósito diferente al del
helecho, sin embargo eran necesarios y
hacían del bosque un lugar hermoso".