Tema: menu c++
Ver Mensaje Individual
  #3 (permalink)  
Antiguo 23/11/2014, 11:32
Avatar de leosansan
leosansan
 
Fecha de Ingreso: mayo-2012
Ubicación: GRAN CANARIA
Mensajes: 194
Antigüedad: 12 años, 7 meses
Puntos: 49
Respuesta: menu c++

Cita:
Iniciado por vangodp Ver Mensaje
[HIGHLIGHT="C++"]

Eso es por que tienes residuos en el buffer.
El dichoso enter '\n' te hace eso cuando se mete en el buffer.
El scanf("%c%*c", &opcion); toma un char pero ignora el enter que hace esos estragos en tu programa XDD

debes o bien limpiar el buffer o bien intentar que no se te cole enter en el.
Enter tambien es un char y por eso se da esos problemas.
Si usas scanf deberás incluir la librería <cstdio>.

Pero si entra más de un caracter no servirá el %c%*c ya que sólo se "comería" el primer caracter de más, no así el \n en ese caso.

Más o menos algo como:

Código C++:
Ver original
  1. opcion = getchar () ;
  2. while ( getchar() != '\n' ) ;

sería válido en ambos casos.

¡¡¡Saluditos!!!