Como validar si un dato es letra o numero en c/c++
Estoy realizando un programa que convierta números de binario a octal, hexadecimal, binario etc... Entre todos los sistemas numéricos y trato de validar por ejemplo cuando es binario el numero que voy a convertir que no introduzcan letras.. Pero lo he intentado validar con
Isnan
Isdigit
Isalpha
y siempre me pone k es letra!... =S
Y con isnan me deja validar solo una ocasión... Más no una segunda porque me marca error..
Este es un segmento del pgma que estoy haciendo
case '1':
cout<<"\n:::Conversor DECIMAL a BINARIO:::"<<endl;
cout<<"Introduza un numero Decimal: ";
scanf("%lu",&n);
if(isdigit(n)){
cout<<"Numero Binario correspondente: ";
binario(n);
cout<<"\nPresione la tecla >>Enter<< para regresar al menu"<<endl;
}
else
cout<<"error"<<endl;
break;
case '1': cout<<"\n:::Conversor DECIMAL a BINARIO:::"<<endl; cout<<"Introduza un numero Decimal: "; scanf("%lu",&n); if(isdigit(n)){ cout<<"Numero Binario correspondente: "; binario(n); cout<<"\nPresione la tecla >>Enter<< para regresar al menu"<<endl; } else cout<<"error"<<endl; break;
Isnan
Isdigit
Isalpha
y siempre me pone k es letra!... =S
Y con isnan me deja validar solo una ocasión... Más no una segunda porque me marca error..
Este es un segmento del pgma que estoy haciendo
case '1':
cout<<"\n:::Conversor DECIMAL a BINARIO:::"<<endl;
cout<<"Introduza un numero Decimal: ";
scanf("%lu",&n);
if(isdigit(n)){
cout<<"Numero Binario correspondente: ";
binario(n);
cout<<"\nPresione la tecla >>Enter<< para regresar al menu"<<endl;
}
else
cout<<"error"<<endl;
break;
case '1': cout<<"\n:::Conversor DECIMAL a BINARIO:::"<<endl; cout<<"Introduza un numero Decimal: "; scanf("%lu",&n); if(isdigit(n)){ cout<<"Numero Binario correspondente: "; binario(n); cout<<"\nPresione la tecla >>Enter<< para regresar al menu"<<endl; } else cout<<"error"<<endl; break;
1 Respuesta
Respuesta de Acade Mia Cartagena
1