Elabore um programa, contendo a função int is_letra(char c) que verifica se um caractere digitado pelo usuário é ou não uma letra do alfabeto (seja maiúscula ou minúscula).

Passo 1

Beleza, vamos lá! O exercício pede para criar um programa com uma função chamada int is_letra(char c) que verifica se um caractere digitado pelo usuário é uma letra do alfabeto, seja maiúscula ou minúscula. Aqui, estamos trabalhando com programação em C, especificamente lidando com caracteres e funções que retornam valores inteiros.

Passo 2

Primeiro, precisamos entender o que é um caractere no contexto da programação. No C, os caracteres são representados pelo tipo char, que armazena valores da tabela ASCII. As letras maiúsculas vão de ‘A’ a ‘Z’ e as minúsculas de ‘a’ a ‘z’. Vamos usar isso para identificar se o caractere é uma letra.

Passo 3

Vamos começar a escrever a função is_letra. Ela recebe um caractere c e precisa retornar um valor inteiro: geralmente, 1 para verdadeiro (se for uma letra) e 0 para falso (se não for).

Passo 4

Dentro da função, vamos usar condições para verificar se o caractere está dentro das faixas de letras maiúsculas ou minúsculas na tabela ASCII. Em C, podemos fazer isso usando operadores lógicos.

Passo 5

Aqui está como a função ficará:
int is_letra(char c) {
    if ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z')) {
        return 1; // É uma letra
    } else {
        return 0; // Não é uma letra
    }
}

Passo 6

Vamos explicar o que fizemos: a função verifica se c está entre ‘A’ e ‘Z’ ou entre ‘a’ e ‘z’. Se estiver em qualquer uma dessas faixas, retorna 1, indicando que é uma letra. Caso contrário, retorna 0.

Passo 7

Agora, para testar nossa função, podemos criar um programa principal que pede ao usuário para digitar um caractere e então usa a função is_letra para verificar.

Passo 8

Exemplo de como fazer isso:
#include <stdio.h>

int is_letra(char c) {
    if ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z')) {
        return 1;
    } else {
        return 0;
    }
}

int main() {
    char caractere;
    printf("Digite um caractere: ");
    scanf(" %c", &caractere);

    if(is_letra(caractere)) {
        printf("'%c' é uma letra do alfabeto.\n", caractere);
    } else {
        printf("'%c' não é uma letra do alfabeto.\n", caractere);
    }

    return 0;
}

Passo 9

Explicando o main: pedimos ao usuário para digitar um caractere, usamos scanf para ler esse caractere, e depois chamamos a função is_letra para verificar. Dependendo do retorno, informamos se é ou não uma letra.

Resposta

Pronto! Com essa função e o programa principal, você consegue verificar se um caractere digitado pelo usuário é uma letra do alfabeto, seja maiúscula ou minúscula.

Exercícios relacionados