Ir ao conteúdo

C distinguir letras e digitos


Ir à solução Resolvido por kgin,

Posts recomendados

Postado

Olá a todos, é possível num programa em C pedir para escrever um caractere com o char e distinguir se é letra ou um digito como um numero ou umas parênteses.

obrigado desde já.

  • Solução
Postado

você pode usar as funções da biblioteca ctype.h para distinguir entre caractere (isalpha) ou números (isalnum)

ou você pode comparar diretamente o caractere.

Exemplo

/*
 * Numero correspondente ao caractere
 */
 
#include <stdio.h>

#define T_BUFFER 256

int main(void)
{
    char caractere;
    char buffer[T_BUFFER];
    do {
        printf("Digite \"@\" para encerrar o programa:");
        fgets(buffer, T_BUFFER, stdin);
        sscanf(buffer, "%c", &caractere);
        printf("%c e", caractere);
        if (caractere >= 'a' && caractere <= 'z') {
            printf(" uma letra do alfabeto minuscula\n");
        } else if (caractere >= 'A' && caractere <= 'Z') {
            printf(" uma letra do alfabeto maiuscula\n");
        } else if (caractere >= '0' && caractere <= '9') {
            printf(" um numeral\n");
        } else {
            printf(" um caractere qualquer da tabela ascii\n");
        }
        
        printf("e seu codigo correspondente na tabela ascii e:%d\n", caractere);
        printf("Pressione enter para continuar.\n");
        fgets(buffer, T_BUFFER, stdin);
    } while (caractere != '@');
}

versão online!

  • Obrigado 1
  • Triste 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...