In questo esempio imparerai a controllare se un alfabeto inserito dall'utente è una vocale o una consonante.
Per comprendere questo esempio, è necessario conoscere i seguenti argomenti di programmazione in C:
- Operatori di programmazione C.
- C if … else Istruzione
- C while e do … while Loop
I cinque lettere A
, E
, I
, O
e U
sono chiamate vocali. Tutti gli altri alfabeti tranne queste 5 vocali sono chiamati consonanti.
Questo programma presuppone che l'utente immetta sempre un carattere alfabetico.
Programma per controllare vocale 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; )
Produzione
Inserisci un alfabeto: GG è una consonante.
Il carattere inserito dall'utente viene memorizzato nella variabile c.
La variabile lowercase_vowel restituisce 1 (true) se c è una vocale minuscola e 0 (false) per qualsiasi altro carattere.
Allo stesso modo, la variabile uppercase_vowel restituisce 1 (true) se c è una vocale maiuscola e 0 (false) per qualsiasi altro carattere.
Se la variabile lowercase_vowel o uppercase_vowel è 1 (true), il carattere inserito è una vocale. Tuttavia, se entrambe le variabili lowercase_vowel e uppercase_vowel sono 0, il carattere inserito è una consonante.
Nota: questo programma presuppone che l'utente immetta un alfabeto. Se l'utente inserisce un carattere non alfabetico, mostra che il carattere è una consonante.
Per risolvere questo problema, possiamo usare la funzione isalpha (). La islapha()
funzione controlla se un carattere è un alfabeto o meno.
#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; )
Ora, se l'utente inserisce un carattere non alfabetico, vedrai:
Inserisci un alfabeto: 3 Errore! Carattere non alfabetico.