[LUG.ro Mix] Preguntita de DoWhile en C

Nicolás Aimetti lugro-mix@lugro.org.ar
Fri, 30 Jun 2006 10:59:21 +0000


Matias Sanchez wrote:
> Si, ya te entiendo. Algo parecico tenia pensado hacer hoy a la mañana. 
> Porque ayer me fui a dormir pensado en declarar un array en lugar de un 
> int.
> Si, la verdad no es nada ligero. No hay una forma mas práctica? Tal ves 
> es mas conveniente darle dos cotas al while una minima y una maxima, 
> considerando que la edad no puede ser mayor que 100, pero igualmente si 
> hago eso e ingreso un caracter en lugar de un dígito, se cuelga el 
> while. Supongo que porque asume el valor Ascii del caracter:

El while se cualga porque cuando el scanf no machea lo que quiere leer 
(un entero en este caso) entonces no lee nada, por tanto cada vez que lo 
invocas lee lo mismo del mismo buffer de entrada ( o sea, como nadie lee 
el valor del buffer es scanf sigue leyendo una y otra vez lo mismo). Por 
lo general es scanf no es tan copado como parece. Recomendación, leé 
carecteres y despues fijate que pasa con los mismos, algo al estilo del 
ejemplo anterior.

Saludos,
Nicolás.