Para algo así te conviene tomar las variables como cadena de caracteres, una vez que tienes la variable la validas con una función de C o haces una tuya, te doy un ejemplo, esta devuelve 0 si la cadena tiene caracteres que no son número y 1 si pasa la validación, le falta considerar el uso de punto decimal, comas, espacios o lo que necesites.
Código C:
Ver originalint EsNumero(char *s)
{
int i;
for(i = 0; s[i] != 0; i++)
{
if(s[i] < '0' || s[i] > '9')
return 0;
}
return 1;
}
Suerte.