Programa que distingue números y caracteres
Cómo puedo hacer que mi programa evalúe los números que desee introducir el usuario (los que sean y de cualquier longitud) y mande un mensaje que diga si son pares o impares y distinga si teclea caracteres. Para salir, el usuario debe presionar cualquiera de las letras: 's' o 'S' ( es mayúscula o minúscula). Si el usuario teclea otra palabra mande un mensaje de error. Este es mi código
int n;
char cpatura[50];
printf("\nDame un numero, que quieres saber si es impar o par y sales del programa con la letra s\n\n"); captura[n]=0;
while (captura[n]!='s' || captura[n]!='S')
{ for(n=0;(captura[n]=getch()) != '\n';++n)
{ if(isalpha(captura[n])!=0)
{ printf("Capturastes un caracter no se puede evaluarcapturastes una tecla diferente de la salida");
}
else if (isdigit(captura[n])!=0){
if(captura[n]==0) printf("\nEl numero que me diste es cero");
else if(captura[n]%2==0) printf("\nEl numero %c es par",captura[n]);
else printf("\nEl numero %c Es impar",captura[n]); }
} }getch();return (0);
Mi problema es que las variables que uso para almacenar lo que el usuario teclea sólo aceptan datos de tipo numérico para hacer las operaciones. Pero para salir del programa el usuario debe teclear la letra 's' o 'S' y mis operadores no trabajan con números y letras a la vez. Mi programa debe distinguir si el usuario teclea un número o un carácter para poder continuar o salir de él.
int n;
char cpatura[50];
printf("\nDame un numero, que quieres saber si es impar o par y sales del programa con la letra s\n\n"); captura[n]=0;
while (captura[n]!='s' || captura[n]!='S')
{ for(n=0;(captura[n]=getch()) != '\n';++n)
{ if(isalpha(captura[n])!=0)
{ printf("Capturastes un caracter no se puede evaluarcapturastes una tecla diferente de la salida");
}
else if (isdigit(captura[n])!=0){
if(captura[n]==0) printf("\nEl numero que me diste es cero");
else if(captura[n]%2==0) printf("\nEl numero %c es par",captura[n]);
else printf("\nEl numero %c Es impar",captura[n]); }
} }getch();return (0);
Mi problema es que las variables que uso para almacenar lo que el usuario teclea sólo aceptan datos de tipo numérico para hacer las operaciones. Pero para salir del programa el usuario debe teclear la letra 's' o 'S' y mis operadores no trabajan con números y letras a la vez. Mi programa debe distinguir si el usuario teclea un número o un carácter para poder continuar o salir de él.
1 respuesta
Respuesta de mecamp
1