Ver Mensaje Individual
  #3 (permalink)  
Antiguo 14/03/2014, 13:29
vosk
 
Fecha de Ingreso: agosto-2012
Mensajes: 601
Antigüedad: 11 años, 8 meses
Puntos: 83
Respuesta: Problema con funcion getchar

Te sucede lo mismo que en tu otro post http://www.forosdelweb.com/f96/probl...getch-1093513/

Vacia el stdin despues de scanf y getchar (para eliminar los \n que quedan debido al funcionamiento de esas funciones, puedes buscar mas informacion por ahi de porque esto funciona asi). Echa un vistazo a tu codigo: solo vacias el stdin despues de getchar, pero lo correcto es que antes de ejecutar getchar el stdin ya esté vacío:

Código C:
Ver original
  1. void fflush_stdin() {
  2.     while((c = getchar()) != '\n' && c != EOF)
  3. }
  4.  
  5. ...
  6. scanf("%f",&pre);
  7. fflush_stdin();
  8. ...
  9. scanf("%f",&efec);
  10. fflush_stdin();
  11. ...
  12. desea = getchar();
  13. fflush_stdin();
  14. ...

Revisa tu manual para la funcion _ffushall: no solo se limita a vaciar el stdin sino que hace otras cosas; si ya lo tienes en cuenta y no tienes problema con ello pues adelante, pero ten en cuenta que las funciones estan para cada cosa.

Y algo que no tiene que ver con eso: indenta tu codigo; un codigo claro, bien estructurado y comentado te puede ayudar a ver lo que que estas haciendo, y a la vez será amigable para quien pueda echarte una mano con tu codigo cuando tengas algun problema.

Saludos
vosk