Tengo un pequeño problema con los caracteres en c. En una de las prácticas me piden repetir el programa mientras el usuario decida seguir introduciendo datos.
Este es el programa:
void introducirPosiciónB(float *Xb,float *Yb) {
printf("Posición (x) de la persona? ");
scanf("%f",Xb);
printf("Posición (y) de la persona ");
scanf("%f",Yb);
}
int main(){
float Xa, Ya, Xb, Yb;
char eleccion;
introducirPosiciónA(&Xa,&Ya,);
do{
introducirPosiciónB(&Xb,&Yb);
printf("\n\nOtro? (y or n)"); //Aquí esta el problema
scanf("%c",&eleccion);
}
while(eleccion!='n');
return 0;
}
Las funciones de dentro del main me vienen ya dadas por lo que eso está bien.
El problema surge cuando al llegar al scanf del carácter avanza sin pararse a leerlo, lo ignora y repite el programa sin dejarte opción a introducir n
He probado también por cambiar el scanf por getch(eleccion) pero tampoco funciona.
Si alguien puede ayudarme lo agradecería mucho.
Gracias por leerlo al menos.
SOLUCIÓN:
scanf(" %c", &eleccion);
Repito muchísimas gracias a todos!!!