[C con Clase] dudas con cin y con la secuencia de programas

Steven Richard Davidson stevenrichard.davidson en gmail.com
Lun Dic 17 13:47:58 CET 2007


Hola León Felipe,

On Dec 17, 2007 5:25 AM, Leon Felipe <leonfelipead en hotmail.com> wrote:
> Hola espero que me contesten esta simple pregunta que tengo, apenas estoy comenzando a programar en c++ y en los programas de modo consola especificamente con los problemas del capitulo 10;a la hora de poner el cin para captar los datos de la pantalla no se como hacer para que el programa siga con la siguiente sentencia ya que le doy enter y se me cierra el programa
> entonces como le hago para que no me pase eso; que tecla presiono o que hago para que el programa siga con su ejecucion normal
>

Ya te he contestado en privado, pero lo repetiré aquí para el
beneficio de todos.

Esto se debe a que estás ejecutando el programa desde MS-Windows.
MS-Windows comprueba que el programa se debe ejecutar bajo la consola.
Por lo tanto, la interfaz de usuario abre la consola para ejecutar tu
programa. Cuando tu programa termina, MS-Windows también finaliza la
consola cerrándola. El efecto que se da es que parece que el programa
se abre y se cierra rápidamente, y a veces aparentemente sin hacer
nada.

Si ejecutas el programa desde la consola manualmente, verás que la consola no se
cierra, ya que ésta fue abierta manualmente por ti.

Ahora bien, mientras estás probando los programas que desarrollas,
puedes usar 'cin.get()' para detener la ejecución del programa a la
espera de leer un carácter. Por ejemplo,

int main()
{
  ...
  cin.get();
  return 0;
}

Ten presente que esto más bien es una artimaña para detener la
ejecución del programa. Otra manera es usar la función estándar
'system()' que sirve para ejecutar un programa o comando desde la
consola. Por ejemplo,

int main()
{
  ...
  system( "pause" );
  return 0;
}

Debes incluir el fichero de cabecera <cstdlib>.


Espero haber aclarado la duda.

Steven




Más información sobre la lista de distribución Cconclase