Ver Mensaje Individual
  #3 (permalink)  
Antiguo 04/05/2010, 11:49
ferry91
 
Fecha de Ingreso: mayo-2010
Mensajes: 3
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: 2.2.3 Estructuras como parámetros de funciones.

Es un problema bastante común y con una solución muy sencilla.

El programa nunca para a pedirte un carácter. Eso se debe a que scanf coge el último carácter que ha visto: en este caso, el enter o cambio de linea (que también se considera carácter) que introduciste al escribir la opción. Una manera de resolver este problema es la siguiente:

while (getchar() != '\n');

printf ("\nQuieres restar o sumar el desplazamiento al eje x\n");
scanf ("%c", &opcion);

Otra opción es:

printf ("\nQuieres restar o sumar el desplazamiento al eje x\n");
scanf ("\n%c", &opcion);

Ambas opciones tienen el efecto de indicarle a scanf, que no quieres el cambio de linea como caracter sino el introducido por el usuario. Espero que te sirva!