Programa C para verificar se um caractere é uma vogal ou consoante

Neste exemplo, você aprenderá a verificar se um alfabeto inserido pelo usuário é uma vogal ou consoante.

Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação C:

  • Operadores de programação C
  • Declaração C if … else
  • C while e do … while Loop

As cinco letras A, E, I, Oe Usão chamados vogais. Todos os outros alfabetos, exceto essas 5 vogais, são chamados de consoantes.

Este programa assume que o usuário sempre digitará um caractere do alfabeto.

Programa para verificar vogais ou consoantes

 #include int main() ( char c; int lowercase_vowel, uppercase_vowel; printf("Enter an alphabet: "); scanf("%c", &c); // evaluates to 1 if variable c is a lowercase vowel lowercase_vowel = (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u'); // evaluates to 1 if variable c is a uppercase vowel uppercase_vowel = (c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U'); // evaluates to 1 (true) if c is a vowel if (lowercase_vowel || uppercase_vowel) printf("%c is a vowel.", c); else printf("%c is a consonant.", c); return 0; ) 

Resultado

 Insira um alfabeto: GG é uma consoante. 

O caractere inserido pelo usuário é armazenado na variável c.

A variável lowercase_vowel avalia como 1 (verdadeiro) se c for uma vogal minúscula e 0 (falso) para quaisquer outros caracteres.

Da mesma forma, a variável uppercase_vowel avalia como 1 (true) se c for uma vogal maiúscula e 0 (false) para qualquer outro caractere.

Se a variável lowercase_vowel ou uppercase_vowel for 1 (verdadeiro), o caractere inserido é uma vogal. Entretanto, se ambas as variáveis ​​lowercase_vowel e uppercase_vowel forem 0, o caractere inserido é uma consoante.

Nota: Este programa assume que o usuário irá inserir um alfabeto. Se o usuário inserir um caractere não alfabético, ele exibirá que o caractere é uma consoante.

Para corrigir isso, podemos usar a função isalpha (). A islapha()função verifica se um caractere é um alfabeto ou não.

 #include #include int main() ( char c; int lowercase_vowel, uppercase_vowel; printf("Enter an alphabet: "); scanf("%c", &c); // evaluates to 1 if variable c is a lowercase vowel lowercase_vowel = (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u'); // evaluates to 1 if variable c is a uppercase vowel uppercase_vowel = (c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U'); // Show error message if c is not an alphabet if (!isalpha(c)) printf("Error! Non-alphabetic character."); else if (lowercase_vowel || uppercase_vowel) printf("%c is a vowel.", c); else printf("%c is a consonant.", c); return 0; )

Agora, se o usuário inserir um caractere não alfabético, você verá:

Digite um alfabeto: 3 Erro! Caráter não alfabético.

Artigos interessantes...