char coordenada1; int coordenada2;
//preguntamos coordenadas
printf("Introduce coordenada 1 (A-J) : ");
scanf("%c", &coordenada1);
printf("Introduce coordenada 2 (0-9) : ");
scanf("%d", &coordenada2);
Tengo esto en un bucle while, y la primera vez lo realiza bien, pero la segunda vez que lo introduzco,
el primer scanf, se lo come y me salta al segundo... Alguna idea?
Mirate esto: http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html
EL apartado de fflush(stdin);
Cita de: maxim_o en 13 Junio 2012, 17:46 PM
Mirate esto: http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html
EL apartado de fflush(stdin);
ok me lo reviso!
igualmente vi que cmbiando el...
scanf("%c", &coordenada1);
por
scanf("%s", &coordenada1);
ya funciona :)
Asi puede que funcione pero no creo que sepas porque funciona; no es la forma correcta, el %s es para ingreso de cadenas.. Despues de cada scanf deberias agregar este bucle:
while(getchar()!='\n');
Lo que hace es limpiarte el bufer del teclado, esto evita los saltos que mencionas
Saludos
Cita de: durasno en 13 Junio 2012, 18:38 PM
Asi puede que funcione pero no creo que sepas porque funciona; no es la forma correcta, el %s es para ingreso de cadenas.. Despues de cada scanf deberias agregar este bucle:
while(getchar()!='\n');
Lo que hace es limpiarte el bufer del teclado, esto evita los saltos que mencionas
Saludos
toda la razón, ;) añadido queda