Program C ke kontrole, zda je postava samohláska nebo souhláska

V tomto příkladu se naučíte zkontrolovat, zda je abeceda zadaná uživatelem samohláska nebo souhláska.

Abychom pochopili tento příklad, měli byste mít znalosti o následujících programovacích tématech jazyka C:

  • Programovací operátoři C.
  • C pokud … jiné prohlášení
  • C zatímco a dělat … zatímco Loop

Těchto pět písmen A, E, I, Oa Ujsou nazývány samohlásky. Všechny ostatní abecedy kromě těchto 5 samohlásek se nazývají souhlásky.

Tento program předpokládá, že uživatel vždy zadá znak abecedy.

Program pro kontrolu samohlásky nebo souhlásky

 #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; ) 

Výstup

 Zadejte abecedu: GG je souhláska. 

Znak zadaný uživatelem je uložen v proměnné c.

Proměnná lowercase_vowel se vyhodnotí na 1 (true), pokud c je malá samohláska a 0 (false) pro všechny ostatní znaky.

Podobně se proměnná uppercase_vowel vyhodnotí na 1 (true), pokud c je velká samohláska a 0 (false) pro jakýkoli jiný znak.

Pokud je proměnná lowercase_vowel nebo uppercase_vowel 1 (true), je zadaným znakem samohláska. Pokud jsou však proměnné lowercase_vowel a uppercase_vowel 0, zadaný znak je souhláska.

Poznámka: Tento program předpokládá, že uživatel zadá abecedu. Pokud uživatel zadá neabecední znak, zobrazí se, že znak je souhláska.

Abychom to napravili, můžeme použít funkci isalpha (). Tyto islapha()funkční zkoušky, zda je postava je abeceda nebo ne.

 #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; )

Nyní, pokud uživatel zadá nealfabetický znak, uvidíte:

Zadejte abecedu: 3 Chyba! Nealfabetický znak.

Zajímavé články...