V tomto príklade sa naučíte skontrolovať, či je abeceda zadaná používateľom samohláska alebo spoluhláska.
Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich tém programovania v jazyku C:
- Operátori programovania C.
- C ak … iné vyhlásenie
- C kým a robiť … zatiaľ čo Loop
Týchto päť písmen A
, E
, I
, O
a U
sú nazývané samohlásky. Všetky ostatné abecedy okrem týchto 5 samohlások sa nazývajú spoluhlásky.
Tento program predpokladá, že používateľ bude vždy zadávať znak abecedy.
Program na kontrolu samohlásky alebo spoluhlá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ýkon
Zadajte abecedu: GG je spoluhláska.
Znak zadaný používateľom je uložený v premennej c.
Premenná lowercase_vowel sa vyhodnotí ako 1 (true), ak c je samohláska s malými písmenami, a 0 (false) pre akékoľvek ďalšie znaky.
Podobne sa premenná uppercase_vowel vyhodnotí na 1 (true), ak c je veľká samohláska a 0 (false) pre akýkoľvek iný znak.
Ak je premenná na malé a veľké písmená alebo na veľké a na veľké písmená 1 (true), zadaný znak je samohláska. Ak sú však premenné lowercase_vowel aj uppercase_vowel premenné 0, zadaný znak je spoluhláska.
Poznámka: Tento program predpokladá, že používateľ zadá abecedu. Ak užívateľ zadá nealfabetický znak, zobrazí sa, že znak je spoluhláska.
Aby sme to napravili, môžeme použiť funkciu isalpha (). Tieto islapha()
funkčné skúšky, či je postava je abeceda alebo nie.
#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; )
Teraz, ak používateľ zadá nealfabetický znak, uvidíte:
Zadajte abecedu: 3 Chyba! Abecedný znak.