Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Lee en 5 Noviembre 2010, 06:20 am



Título: ayuda urgente con este ciclo porfavor!
Publicado por: Lee en 5 Noviembre 2010, 06:20 am
soy nuevo en este foro ojala me puedan ayudar... lo agradeceria mucho..


lo que quiero hacer esta en la parte cuando ingreso la edad, con numeros todo bien,
cuando ingreso un 0 ó -1 la edad, la vuelve a preguntar correctamente para ingresarla correctamente..
pero como podria hacerlo en el caso de que presionara una letra..que volviera a preguntar normal como con los numeros..
porque si ingreso una letra el while se queda preguntado la edad infinitas veces.. y no para nunca..
aqui esta el programa.

Código
  1. #include<stdio.h>
  2. main()
  3. {
  4.  
  5.  
  6. char sexo,GOL;
  7. int edad=0,hemoglobina;
  8.  
  9. printf("sexo:\n");
  10. scanf("%c",&sexo);
  11. system("cls");
  12. {
  13. do
  14. {
  15. if(sexo=='f' || sexo=='F' || sexo=='M'|| sexo=='m')
  16. {
  17. GOL='s';
  18. }
  19. else
  20. {
  21. printf("\"error solo introduzca F o M segun su sexo\":\n");
  22. scanf("%c",&sexo);
  23. GOL='n';
  24. system("cls");
  25. }
  26. }
  27. while(GOL=='n');
  28. }
  29.  
  30. while(edad<=0 || edad>140) //<<<---aqui esta el problema//
  31. {
  32. printf("edad:");
  33. scanf("%i",&edad);
  34. system("cls");
  35.  
  36. }
  37.  
  38.  
  39. printf("hemoglobina:\n");
  40. scanf("%i",&hemoglobina);
  41.  
  42. }
  43.  


porfavor si me pudieran ayudar seria de gran ayuda .. de ante mano muchas gracias.



Título: Re: ayuda urgente con este ciclo porfavor!
Publicado por: [D4N93R] en 5 Noviembre 2010, 14:28 pm
Está ilegible, utiliza geshi e indentación adecuada.

C++
[code=cpp][/code]

C
[code=c][/code]

Y así sucesivamente, el listado está en el menú de formato cuando creas o editas un post.


Título: Re: ayuda urgente con este ciclo porfavor!
Publicado por: Horricreu en 5 Noviembre 2010, 18:11 pm
A parte de tu duda, que ahora te la contesto, te digo algunos errores más que tienes:

  • Utilizas main() en vez de int main(). La primera te dará error en los compiladores actuales y buenos.
  • Sólo incluyes stdio.h. Utilizas funciones como system() o getch() que no pertenecen a esta librería. Pertenecen a stdlib.h y conio.h respectivamente.
  • Lo que haces, es introducir los números a través de una variable del tipo int. Puedes hacer algo como introducirlos mediante una variable del tipo char y luego juegas con el código ASCII para comprobarlo.


Título: gracias
Publicado por: Lee en 5 Noviembre 2010, 19:58 pm
muchas gracias por sus opiniones...inclui mas librerias... si no fuera molestia muchachos.. podrian darme un ejemplo para guiarme y lograr hacerlo.. de ante mano muchas gracias..


Título: Re: ayuda urgente con este ciclo porfavor!
Publicado por: Horricreu en 5 Noviembre 2010, 22:15 pm
Código
  1. #include <stdio.h>
  2.  
  3. int main()
  4. {
  5.    char string[5];
  6.    char *ptr = string;
  7.  
  8.    printf("Introduzca un n%cmero: ", 163);
  9.  
  10.    fgets(string, 5, stdin);
  11.  
  12.    if(*ptr == 48) printf("El n%cmero es 0.", 163);
  13.  
  14.    else printf("El n%cmero no es 0.", 163);
  15.  
  16.    getchar();
  17.  
  18.    return 0;
  19. }

No es la solución. Es simplemente una guía para que veas cómo se hace. Te dejo la lista de los códigos de la tabla ASCII:

Código:
http://www.ascii.cl/es/


Título: Re: ayuda urgente con este ciclo porfavor!
Publicado por: Lee en 6 Noviembre 2010, 04:20 am
muchas gracias!!! te pasaste! :D


Título: Re: ayuda urgente con este ciclo porfavor!
Publicado por: Horricreu en 6 Noviembre 2010, 10:34 am
De nada ::)