[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