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
, O
e U
sã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.