Cita:
Iniciado por vangodp [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:
sería válido en ambos casos.
¡¡¡Saluditos!!!