ayuda urgente con este ciclo porfavor!

Iniciado por Lee, 5 Noviembre 2010, 06:20 AM

0 Miembros y 1 Visitante están viendo este tema.

Lee

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.

#include<stdio.h>
main()
{


char sexo,GOL;
int edad=0,hemoglobina;

printf("sexo:\n");
scanf("%c",&sexo);
system("cls");
{
do
{
if(sexo=='f' || sexo=='F' || sexo=='M'|| sexo=='m')
{
GOL='s';
}
else
{
printf("\"error solo introduzca F o M segun su sexo\":\n");
scanf("%c",&sexo);
GOL='n';
system("cls");
}
}
while(GOL=='n');
}

while(edad<=0 || edad>140) //<<<---aqui esta el problema//
{
printf("edad:");
scanf("%i",&edad);
system("cls");

}


printf("hemoglobina:\n");
scanf("%i",&hemoglobina);

getch();
}



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


[D4N93R]

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.

Horricreu

#2
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.

Lee

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

Horricreu

#4
#include <stdio.h>

int main()
{
   char string[5];
   char *ptr = string;

   printf("Introduzca un n%cmero: ", 163);

   fgets(string, 5, stdin);

   if(*ptr == 48) printf("El n%cmero es 0.", 163);

   else printf("El n%cmero no es 0.", 163);

   getchar();

   return 0;
}


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:

http://www.ascii.cl/es/

Lee


Horricreu

#6
De nada ::)