En este ejemplo, aprenderá a verificar si un alfabeto ingresado por el usuario es una vocal o una consonante.
Para comprender este ejemplo, debe tener el conocimiento de los siguientes temas de programación en C:
- Operadores de programación C
- C if … else Statement
- C while y do… while Loop
Las cinco letras A
, E
, I
, O
y U
son llamadas vocales. Todos los demás alfabetos, excepto estas 5 vocales, se denominan consonantes.
Este programa asume que el usuario siempre ingresará un carácter alfabético.
Programa para comprobar vocal o consonante
#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; )
Salida
Ingrese un alfabeto: GG es una consonante.
El carácter ingresado por el usuario se almacena en la variable c.
La variable lowercase_vowel se evalúa como 1 (verdadero) si c es una vocal en minúscula y 0 (falso) para cualquier otro carácter.
De manera similar, la variable uppercase_vowel se evalúa como 1 (verdadero) si c es una vocal en mayúscula y 0 (falso) para cualquier otro carácter.
Si la variable lowercase_vowel o uppercase_vowel es 1 (verdadero), el carácter ingresado es una vocal. Sin embargo, si tanto las variables minúsculas_vowel como las mayúsculas_vowel son 0, el carácter introducido es una consonante.
Nota: Este programa asume que el usuario ingresará un alfabeto. Si el usuario ingresa un carácter no alfabético, muestra que el carácter es una consonante.
Para solucionar esto, podemos usar la función isalpha (). La islapha()
función comprueba si un carácter es un alfabeto o no.
#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; )
Ahora, si el usuario ingresa un carácter no alfabético, verá:
Introduzca un alfabeto: 3 ¡Error! Carácter no alfabético.