Eu preciso saber se o que o usuário digitou é ou não um numero, exp: 123232;123.123;1232,23223;-123233;-12.123;-45,545; 34/54; 343,2323/123.23) é um numero
não é um numero se o usuario digita algo que não tá [42,57] na tabela ascii ex(12.12a32; 12,~~~~21)
e eu não consigo achar o que tá errado no meu código,
plz help
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char str[1000];
int c, i=0;
printf("Digite um numero.\n");
gets(str);
int tamanho= strlen(str);
int certo=0;
printf("Vc digitou %d caracteres e eles ", tamanho);
while(i<=tamanho){
if ((str[i]>=42)&&(str[i]<=57))
certo++;
if((str[i]<=42)&&(str[i]>=47))
certo++;
if((str[i]>=0)&&(str[i]<=41))
certo--;
if((str[i]>=58)&&(str[i]>=127))
certo--;
i++;
}
if(tamanho==certo){
printf("formam um numero\n");}
else {
printf("nao formam um numero\n");
}
}