Pessoal estou fazendo um programa que lê dados inteiros para converte-los em binário e preciso fazer a validação caso o usuário digite uma letra ao envés de numero.Por enquanto o código esta assim:
void decimaloctal()//ok{ int div,vet[100],i,cont=0;//declara as variaveis char div2[100]; int tam=0,result=0; do { result=0; printf("Digite um numero.\n");// pede para o usuario digitar um numero scanf("%d",&div); itoa(div,div2,10); tam=strlen(div2); for(i=0;i<=tam;i++) { if(div2[i]=="1" && div2[i]=="2" && div2[i]=="3" && div2[i]=="4" && div2[i]=="5" && div2[i]=="6" && div2[i]=="7" && div2[i]=="8" && div2[i]=="9" && div2[i]=="0") { result=0; } else { result=result+1; } } }while(result<0); i=0;//inicia a variavel i com 0 do { vet[i]=div%8;//pega o resto da divisao do numero digitado por 8 i=i+1;//incrementa a variavel da posiçao do vetor div=div/8;//faz a divisao do numero por oito cont=cont+1;//conta a quantidade de caracteres que sera o numero octal final }while(div>0);//continua enquanto o numero dividido for maior que zero printf("O resultado e "); for(i=cont-1;i>=0;i--)//exibe o vetor de traz para frente de acordo com o tamanho calculado pela variavel cont (cont-1 para nao exibir um zero na frente do numero binario) { printf("%d",vet[i]);//exibe o resultado } printf("\n");}