V tem primeru se boste naučili preverjati, ali je abeceda, ki jo vnese uporabnik, samoglasnik ali soglasnik.
Če želite razumeti ta primer, morate poznati naslednje teme programiranja C:
- C Operaterji programiranja
- Izjava C, če … drugače
- C medtem in pa … medtem ko Loop
Pet črk A
, E
, I
, O
in U
se imenujejo samoglasnike. Vse druge abecede, razen teh 5 samoglasnikov, se imenujejo soglasniki.
Ta program predvideva, da bo uporabnik vedno vnesel abecedni znak.
Program za preverjanje samoglasnika ali soglasnika
#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; )
Izhod
Vnesite abecedo: GG je soglasnik.
Znak, ki ga vnese uporabnik, je shranjen v spremenljivki c.
Spremenljivka smallcase_vowel izračuna na 1 (true), če je c samoglasnik small in 0 (false) za katere koli druge znake.
Podobno spremenljivka zgornji_glasnik oceni na 1 (true), če je c samoglasnik in 0 (false) za kateri koli drug znak.
Če je spremenljivka malega_glasnika ali velikega_glasnika 1 (true), je vneseni znak samoglasnik. Če sta spremenljivki malega_glasnika in velikega_glasnika 0, je vneseni znak soglasnik.
Opomba: Ta program predvideva, da bo uporabnik vnesel abecedo. Če uporabnik vnese neabecedni znak, se prikaže, da je znak soglasnik.
Da bi to popravili, lahko uporabimo funkcijo isalpha (). Na islapha()
funkcija preveri, ali je znak abeceda ali 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; )
Zdaj, če uporabnik vnese neabecedni znak, boste videli:
Vnesite abecedo: 3 Napaka! Neabecedni znak.