Programación General > C/C++
Problema con bucle.
Eternal Idol:
De nada, a diferencia de fgets, scanf deja caracteres sin retirar del buffer de entrada de teclado como por ejemplo el salto de linea, entonces cuando volves a leer simplemente retorna ese salto de linea (se suele decir que ensucia el buffer).
Aprendiz21Sam:
Gracias por la explicación. Entonces si no me equivoco, aunque sea un poco enrevesado, podría escribirlo de este modo...
--- Código: C --- while (Salir != 's' && Salir != 'S') { printf ("nEscriba un numero para determinar su simbolo: "); scanf ("%d", &Letra); A = Letra; printf ("n%d = %c", Letra, A); printf ("nPulse 'S' para salir u otra tecla para poner otro numero: "); fflush (stdin); scanf ("%c", &Salir); }
Una pregunta mas ya que eres moderador. ¿Si tengo mas dudas sigo con este hilo o creo otro nuevo?
Eternal Idol:
No, eso esta mal, no es standard, la forma correcta de hacerlo es la que te dije ... y ademas no tiene sentido usar una funcion que ensucia el buffer y limpiarlo.
Aprendiz21Sam:
De acuerdo gracias por las explicaciones. En la otra pregunta que he hecho de otro programa que estoy realizando, modificare los "scanf" por lo que me dijiste.
Duda sobre "scanf" y bucle resuelta.
Gracias.
Eternal Idol:
De nadas :comp:
Navegación
[*] Página Anterior
Ir a la versión completa