Numero o Carácter!

El fichero de cabecera math. Hpp incluye una función llamada IsNaN(double x) que si x es Not a Number (NaN), por tanto IsNaN(double x) returna true si x NO ES NUMÉRICO y false en caso de ser un NUMERO, solo un consejo, existen también funciones como IsDigit(char x), o IsNumeric(char c) que se implementan de forma similar, pero yo te sugiero que simplemente hagas uso del try-catch, que es una poderosa forma de hacer las operaciones de forma rápida y dominando en todo momento si se completa la misma sin errores u excepciones.

1 Respuesta

Respuesta
1
Bien, yo uso C++ Builder 6 y no tengo problemas con esas funciones y esas librerías, pero ante las dificultades se crecen los hombers, en ctype. H existen funciones que te ayudaran un poco en la resolución del problema, he creado una pequeña función que de la forma más SIMPLE posible resuelve el rollo, espero te ayude y que no dejes de continuar aprendiendo, aquí esta un ejemplo:
//---------------------------------------------------------------------------
#include <clx.h>
#include <iostream.h>
#include <ctype.h>
#pragma hdrstop
//---------------------------------------------------------------------------
bool Es_Numerico(char *s)
{
for(int i = 0; i < strlen(s); i++)
if(s < '0' || s > '9')
return false;
return true;
}
#pragma argsused
int main(int argc, char* argv[])
{
char *dato = new char;
int numero;
cout << "Entre un numero: ";
gets(dato);
if(Es_Numerico(dato))
numero = atoi(dato);
else
{
cout << "Entre un entero valido" << endl;
system("pause");
return 0;
}
cout <<numero << endl;
system("pause");
return 0;
}
//---------------------------------------------------------------------------

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas