Hola que tal! Vengo con otra pequeña duda. Solamente quisiera saber cual de los siguientes bloques de código es el mas apropiado u optimizado para leer dígitos y validarlos:
Este:
#include <stdio.h>
int main()
{
int a;
scanf( "%d", &a );
while ( a > 5 )
{
printf( "El numero debe ser menor a 5, ingresa otro: " );
scanf( "%d", &a );
}
printf( "Correcto!" );
return 0;
}
O este:
#include <stdio.h>
int main()
{
int a;
do
{
scanf( "%d", &a );
if ( a > 5 )
printf( "El numero debe ser menor a 5, ingresa otro: " );
} while ( a > 5 );
printf( "Correcto!" );
return 0;
}
A mí me gusta y me parece más correcta la segunda forma. En este programa apenas se nota, porque es una prueba, pero a lo largo de tus proyectos encontrarás códigos largos. Ahí agradecerás ver un código lo más simplificado y claro posible. En la segunda forma no tienes que repetir la misma sentencia dos veces, por lo que ahorras código (para ti) y tiempo (para ti y para los que necesiten leerlo).
Un saludo. ;)
Ok consejo anotado DickGumshoe muchas gracias!
En todo caso es mejor el while, porque valida primero.
Mientras que en el Do while entra y despues valida
::)
Cita de: krafta en 17 Febrero 2013, 18:00 PM
En todo caso es mejor el while, porque valida primero.
Mientras que en el Do while entra y despues valida
::)
Si no leo mal el código, en el while primero entra, con el scanf, y después valida el while. O sea, lo mismo que en el do-while.:silbar:
Sobre la claridad, opino lo mismo que DickGumshoe.
Saluditos!.