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>