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

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [Duda]Ayuda Necesito aprender a validar soy Nuevo en progracion [c]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Duda]Ayuda Necesito aprender a validar soy Nuevo en progracion [c]  (Leído 2,119 veces)
vidalpet

Desconectado Desconectado

Mensajes: 13


Ver Perfil
[Duda]Ayuda Necesito aprender a validar soy Nuevo en progracion [c]
« en: 21 Agosto 2015, 02:13 am »

Buenas noches saludos ten go problema para validcar datos de entradas tengo que hacer un cajero automatico y necesito validar entrada de datos es decir si pido que marque numeros , que el usuario marque numero pues , que si  pido caracter pues coloque caracter que si ingresa algo diferente que mande un mensaje voy a colocar este codigo para que me expliquen con este simple codigo no use switch case , lo hice asi pero AYUDEME tengo ansias de aprender ,

Código
  1. #include <stdio.h>
  2.  
  3. //Ejercicio 3 del tema "Variables y Operadores Básicos":
  4. //Programa que pida la temperatura en grados Celsius y la convierta a grados
  5. //Fahrenheit (y viceversa) mostrando en pantalla un mensaje del tipo
  6. //“xxx.xx grados Celsius son yyy.yy grados Fahrenheit”
  7.  
  8.  
  9. int main(){
  10.  
  11. float c , f;
  12. int opcion;
  13.  
  14. //pido datos
  15. printf("para convertir celsius a fahrenheit presione 1\n");
  16. printf("para convertir fahrentir a celsius presione 2\n");
  17.  
  18. scanf("%d",&opcion);
  19.  
  20. if (opcion==1){
  21.  
  22. printf("ingrese los grados celsius:");
  23. scanf("%f",&c);
  24.  
  25. f=9.0/5.0*c+32.0;
  26. //muestro resultados
  27. printf("%.2f grados celsius son %.2f grados fahrenheit \n\n",c,f);
  28.  
  29. }
  30.  
  31.  
  32. else   {printf("ingrese los grados fahreint :");
  33. scanf("%f",&f);
  34. //implemento formula
  35.  
  36. c=(f-32.0)*5.0/9.0;
  37.  
  38.  
  39. printf("%.2f grados fahreint son %.2f grados celsius \n\n",f,c);
  40. }
  41.  
  42.  
  43.  
  44.  
  45. return 0;
  46. }

ayudeme a validar las entradas de este codigo para guiarme de los demas codigo que haga si me ayudan agradeceria que DOCUMENTARAS el codigo para saber soy nuevoo


Mod: Los códigos deben ir en etiquetas GeSHi


« Última modificación: 21 Agosto 2015, 03:31 am por engel lex » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: [Duda]Ayuda Necesito aprender a validar soy Nuevo en progracion [c]
« Respuesta #1 en: 21 Agosto 2015, 03:43 am »

scanf no es util para validar datos, ya que el simplemente trata de capturar lo que hy, sin embargo, un pequeño hack para validad sería

Código
  1. char term;//esto se uesará para validción
  2. float num;//del tipo ue quieras, aquí irá el numero
  3. if(scanf("%f%c", &num, &term) != 2 || term != '\n'){
  4.  printf("invalido\n"); //si es invalido cae aquí
  5. }else{
  6.  printf("numero valido: %f\n", num); //si es valido muestra el numero
  7. }
  8.  



En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines