Šiame pavyzdyje išmoksite patikrinti, ar vartotojo įvestas abėcėlė yra balsis ar priebalsis.
Norėdami suprasti šį pavyzdį, turėtumėte žinoti šias C programavimo temas:
- C programavimo operatoriai
- C jei … dar pareiškimas
- C kol ir daryk … kol kilpa
Penki raidės A
, E
, I
, O
ir U
yra vadinami balsių. Visos kitos abėcėlės, išskyrus šiuos 5 balsius, vadinamos priebalsiais.
Ši programa daro prielaidą, kad vartotojas visada įves abėcėlės simbolį.
Programa tikrinti balsį ar priebalsią
#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; )
Rezultatas
Įveskite abėcėlę: GG yra priebalsis.
Vartotojo įvestas simbolis saugomas kintamajame c.
Kintamasis „smallcase_vowel“ vertinamas kaip 1 (tiesa), jei c yra mažųjų balsis, o kituose simboliuose - 0 (false).
Panašiai kintamasis „uppercase_vowel“ vertinamas kaip 1 (tiesa), jei c yra didžiųjų balsis, o bet kurio kito simbolio - 0 (false).
Jei mažųjų raidžių_balsių arba didžiųjų_skambučių kintamasis yra 1 (tiesa), įvestas simbolis yra balsis. Tačiau jei tiek mažųjų, tiek didžiųjų_skambučių kintamieji yra 0, įvestas simbolis yra priebalsis.
Pastaba: Ši programa daro prielaidą, kad vartotojas įves abėcėlę. Jei vartotojas įveda ne abėcėlę, jis rodo, kad simbolis yra priebalsis.
Norėdami tai išspręsti, galime naudoti funkciją isalpha (). Į islapha()
funkcija patikrina, ar simbolis yra abėcėlė, ar 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; )
Dabar, jei vartotojas įveda ne abėcėlę, pamatysite:
Įveskite abėcėlę: 3 klaida! Ne abėcėlės pobūdis.