Programación General > C/C++

 Problema con bucle.

<< < (2/2)

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

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa