Bom minha dúvida é : Minha dúvida é a seguinte estou tentando validar um campo em C para aceitar somente dados do tipo int, porém os dois tipos de validação tem uma falha.
a validação só funciona para o primeiro caractere que eu insiro, por exemplo se eu insiro 'a' ou 9, agora se eu insiro em um campo de int 9a fura minha validação.E também gostaria de perguntar como eu faria uma validação para que o usuário não insira um numero que seja maior que uma var do tipo int aceite, assim evitando o overflow.
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main ()
{
// Declaracoes
int num,ret;
// Instrucoes
printf("insira um numero:\n");
fflush(stdin);
ret=scanf("%d",&num);
fflush(stdin);
while(ret==0 ||isdigit(num))
{
printf("%cCampo destinado para numeros, insira novamente:\n",7);
fflush(stdin);
ret=scanf("%d",&num);
fflush(stdin);
}
return 0;
}