[C con Clase] El resultado del programa se muestra y se quita tan rapido que no puedo verlo.
Thor
pablotoral en gmail.com
Dom Dic 31 05:16:14 CET 2006
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.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20061230/bcff5b0b/attachment.html>
Más información sobre la lista de distribución Cconclase