Ir ao conteúdo

Posts recomendados

Postado

Alguém sabe o porque está dando esse erro no código?

#include<stdio.h>
#include<string.h>
#include<ctype.h>

int main(){
    int i;
    char num[10];

    printf("Digite Algo: ");
    scanf("%s", num);

    for(i = 0; i<1; i++){
        if(!isalpha(num[i]))
        {
            printf("É numérico\n");
        }
        else
        {
            printf("Não é numerico: %c");
        }
    }


    return 0;
}

 

  • Obrigado 1
Postado

@Gabi_gabis   no printf você colocou o especificador de caractere , que precisa de um valor do tipo int ,    mas seu código vai falhar , pois os caracteres podem ser letras ou números e também caracteres especiais , ( / * , . <> ) e outros ,  então creio que poderia ser assim  :

#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main()
{
    int i=-1,flg=0;
    char num[10];
    printf("Digite Algo: ");
    scanf("%s", num);
    for(; num[++i] != '\0'; )
        if( ! isdigit ( num[ i ] ) )
        {
            flg = 1;
            printf("%c ",num[i]);
        }
    if( flg )
        printf(" <- N%co %c num%crico:\n",182,130,130);
    else
        printf("%c num%crico\n",144,130);
    return 0;
}

 

  • Amei 1
Postado

@Gabi_gabis No printf só faltou colocar o segundo parâmetro da função representando a letra. Mas o seu for só vai mostrar a primeira letra porque ele começa de 0 e vai rodar quanto i < 1. Para fazer o loop em todas as letras, você pode testar o caractere '\0' (nulo) que marca o fim da string,

 

#include<stdio.h>
#include<ctype.h>

int main(void){
    char num[10];

    printf("Digite Algo: ");
    scanf("%10s", num);

    for(int i = 0; num[i] != '\0'; i++){
        if(!isalpha(num[i])){
            printf("E numerico: %c\n", num[i]);
        }else{
            printf("não e numerico: %c\n", num[i]);
        }
    }
    return 0;
}

 

Outra função que pode ser usada é a isdigit para testar um dígito decimal.

  • Obrigado 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!