elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Cual es la mejor manera para validar una entrada?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Cual es la mejor manera para validar una entrada?  (Leído 3,361 veces)
oblivionxor

Desconectado Desconectado

Mensajes: 19


No hay mayor fracaso que apresurar el exito


Ver Perfil
Cual es la mejor manera para validar una entrada?
« en: 14 Febrero 2013, 18:05 pm »

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:
Código
  1. #include <stdio.h>
  2.  
  3. int main()
  4. {
  5. int a;
  6.  
  7. scanf( "%d", &a );
  8.  
  9. while ( a > 5 )
  10. {
  11. printf( "El numero debe ser menor a 5, ingresa otro: " );
  12. scanf( "%d", &a );
  13. }
  14.  
  15. printf( "Correcto!" );
  16.  
  17. return 0;
  18. }
  19.  

O este:
Código
  1. #include <stdio.h>
  2.  
  3. int main()
  4. {
  5. int a;
  6.  
  7. do
  8. {
  9. scanf( "%d", &a );
  10.  
  11. if ( a > 5 )
  12. printf( "El numero debe ser menor a 5, ingresa otro: " );
  13. } while ( a > 5 );
  14.  
  15. printf( "Correcto!" );
  16.  
  17. return 0;
  18. }
  19.  


En línea

DickGumshoe


Desconectado Desconectado

Mensajes: 480



Ver Perfil WWW
Re: Cual es la mejor manera para validar una entrada?
« Respuesta #1 en: 14 Febrero 2013, 18:53 pm »

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.  ;)


En línea

oblivionxor

Desconectado Desconectado

Mensajes: 19


No hay mayor fracaso que apresurar el exito


Ver Perfil
Re: Cual es la mejor manera para validar una entrada?
« Respuesta #2 en: 14 Febrero 2013, 19:22 pm »

Ok consejo anotado DickGumshoe muchas gracias!
En línea

krafta

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Cual es la mejor manera para validar una entrada?
« Respuesta #3 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
 ::)
En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Cual es la mejor manera para validar una entrada?
« Respuesta #4 en: 17 Febrero 2013, 21:21 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!.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Cual es el mejor juego de Rol para pc??
Juegos y Consolas
mark182 0 1,941 Último mensaje 26 Mayo 2007, 01:57 am
por mark182
¿Cuál es la mejor manera de rippear un dvd?
Multimedia
tubieja 3 3,809 Último mensaje 16 Agosto 2009, 13:54 pm
por Songoku
¿Cual es la mejor manera de manejar archivos?
ASM
Avoidance25 6 5,757 Último mensaje 25 Agosto 2009, 20:16 pm
por Avoidance25
¿Cómo validar la entrada de un tipo de datos en C++ o C?
Programación C/C++
theluigy13etv 0 7,137 Último mensaje 27 Junio 2011, 03:33 am
por theluigy13etv
Cual es la mejor manera de Ocultar la IP?
Dudas Generales
elkiy 3 5,976 Último mensaje 26 Mayo 2012, 04:00 am
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines