Ver Mensaje Individual
  #4 (permalink)  
Antiguo 27/04/2012, 08:45
sam90
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: problema con enteros u caracteres

Código C:
Ver original
  1. #include <stdio.h>
  2.  
  3.  
  4.  
  5. int pedirOpcion()
  6. {
  7.     int opcion, a;
  8.     do {
  9.     printf("\t\tIngrese una opcion : ");
  10.     a = scanf("%d",&opcion);
  11.     while( getchar() != '\n');
  12.  
  13.     } while ( a != 1 || !( 0 < opcion && opcion < 5)  );
  14.     return opcion;
  15.    
  16. }
  17.  
  18. int main()
  19. {
  20.     pedirOpcion();
  21.  
  22. }

Tienes que combinar las dos cosas y tener en cuenta que el scanf no consume la entrada si no puede detectar el formato que desea. Es decir si vos le pedis un entero y lo primero que encuentra es una letra, esa letra la deja en el buffer y sale con error. Asi que agregue un pequeña linea que vacia el buffer para evcitar ese pegado que vos mencionas. (creo que a eso te referias con pegado)

Saludos