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.