Programma in C per verificare se un carattere è una vocale o una consonante

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, Oe Usono 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.

Articoli interessanti...