[C con Clase] El resultado del programa se muestra y se quita tanrapido que no puedo verlo.

A.F.G.P. willidog en terra.es
Dom Dic 31 17:05:17 CET 2006


Prueba con

system("PAUSE");

Esto detiene la ejecución del programa hasta que pulses una tecla. Si la pones al final del main evitaras que el modo consola se cierre tras ejecutar la ultima instrucción.
  ----- Original Message ----- 
  From: Thor 
  To: cconclase en listas.conclase.net 
  Sent: Sunday, December 31, 2006 5:16 AM
  Subject: [C con Clase] El resultado del programa se muestra y se quita tanrapido que no puedo verlo.


  Estoy siguiendo el libro de Deitel y Deitel de programacion en C, y el codigo que da es general para cualquier compilador de C; por ejemplo este:


  #include <stdio.h>

  /* la función main inicia la ejecución del programa */ 
  int main()
  {
     /* inicializa las variables  en las definiciones */
     int aprobados = 0;  /* número de aprobados */
     int reprobados = 0; /* número de reprobados*/
     int estudiante = 1;  /* contador de estudiantes */ 
     int resultado;      /* resultado de un examen */

     /* procesa las calificaciones de 10 estudiantes mediante el uso de un ciclo controlado por un contador */
     while ( estudiante <= 10 ) {

        /* indica al usuario la introducción del valor del usuario */ 
        printf( "Introduzca el resultado ( 1=aprobado,2=reprobado ): " );
        scanf( "%d", &resultado );

        /* si el resultado es igual a 1, incrementa aprobados */
        if ( resultado == 1 ) {     
           aprobados = aprobados + 1;
        } /* fin de if */
        else { /* de lo contrario, incrementa reprobados */
           reprobados = reprobados + 1;
        } /* fin de else */

        estudiante = estudiante + 1; /* incrementa el contador de estudiante */ 
     } /* fin de while */

     /* fase de terminación; despliega el número de aprobados y reprobados */
     printf( "Aprobados %d\n", aprobados );
     printf( "Reprobados %d\n", reprobados ); 

     /* si aprobaron más de ocho estudiantes , imprime "objetivo alcanzado" */
     if ( aprobados > 8 ) {
        printf( "Objetivo alcanzado\n" );
     } /* fin de if */

     return 0; /* indica que el programa terminó con exito */ 
     
  } /* fin de la función main */


  Si lo ejecuto tal y como esta, me pide los datos, los ingreso pero al final el resultado se muestra en pantalla y se quita tan rapido que no puedo verlo; un amigo me sugirio esto para resolverlo por lo pronto: 


     } /* fin de if */

     scanf( "%d", &estudiante );
     
     return 0; /* indica que el programa terminó con exito */
     
  } /* fin de la función main */ 


  Observen que se agrega la instruccion scanf  en la linea 41; con eso el problema esta "aparentemente resuelto", pero no creo que sea la solucion mas satisfactoria ya que con ello estoy cambiando el valo de una variable, y tampoco creo que sea correcto definir una variable solo para eso; otra sugerencia fue usar la instuccion getcher: 


     } /* fin de if */

     getchar();
     
     return 0; /* indica que el programa terminó con exito */
     
  } /* fin de la función main */


  Pero con esto no funciona, lo de usar el getchar se me hace mas correcto, tal vez necesite algo mas. 

  De antemano se agradece su valiosa ayuda.



------------------------------------------------------------------------------


  _______________________________________________
  Cconclase mailing list
  Cconclase en listas.conclase.net
  http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20061231/a298d8cd/attachment.html>


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