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:<br><br><div style="margin-left: 40px;">#include <stdio.h><br><br>/* la función main inicia la ejecución del programa */
<br>int main()<br>{<br> /* inicializa las variables en las definiciones */<br> int aprobados = 0; /* número de aprobados */<br> int reprobados = 0; /* número de reprobados*/<br> int estudiante = 1; /* contador de estudiantes */
<br> int resultado; /* resultado de un examen */<br><br> /* procesa las calificaciones de 10 estudiantes mediante el uso de un ciclo controlado por un contador */<br> while ( estudiante <= 10 ) {<br><br> /* indica al usuario la introducción del valor del usuario */
<br> printf( "Introduzca el resultado ( 1=aprobado,2=reprobado ): " );<br> scanf( "%d", &resultado );<br><br> /* si el resultado es igual a 1, incrementa aprobados */<br> if ( resultado == 1 ) {
<br> aprobados = aprobados + 1;<br> } /* fin de if */<br> else { /* de lo contrario, incrementa reprobados */<br> reprobados = reprobados + 1;<br> } /* fin de else */<br><br> estudiante = estudiante + 1; /* incrementa el contador de estudiante */
<br> } /* fin de while */<br><br> /* fase de terminación; despliega el número de aprobados y reprobados */<br> printf( "Aprobados %d\n", aprobados );<br> printf( "Reprobados %d\n", reprobados );
<br><br> /* si aprobaron más de ocho estudiantes , imprime "objetivo alcanzado" */<br> if ( aprobados > 8 ) {<br> printf( "Objetivo alcanzado\n" );<br> } /* fin de if */<br><br> return 0; /* indica que el programa terminó con exito */
<br> <br>} /* fin de la función main */<br><br></div>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:
<br><br><div style="margin-left: 40px;"> } /* fin de if */<br><br> scanf( "%d", &estudiante );<br> <br> return 0; /* indica que el programa terminó con exito */<br> <br>} /* fin de la función main */
<br><br></div>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:
<br><br><div style="margin-left: 40px;"> } /* fin de if */<br><br> getchar();<br> <br> return 0; /* indica que el programa terminó con exito */<br> <br>} /* fin de la función main */<br><br></div>Pero con esto no funciona, lo de usar el getchar se me hace mas correcto, tal vez necesite algo mas.
<br><br>De antemano se agradece su valiosa ayuda.<br>