Šajā piemērā jūs iemācīsities pārbaudīt, vai lietotāja ievadītais alfabēts ir patskaņs vai līdzskaņs.
Lai saprastu šo piemēru, jums vajadzētu būt zināšanām par šādām C programmēšanas tēmām:
- C programmēšanas operatori
- C ja … cits paziņojums
- C kamēr un dari … kamēr Loop
Pieci burti A
, E
, I
, O
un U
sauc patskaņi. Visus pārējos alfabētus, izņemot šos 5 patskaņus, sauc par līdzskaņiem.
Šī programma pieņem, ka lietotājs vienmēr ievadīs alfabēta rakstzīmi.
Programma, lai pārbaudītu patskaņu vai līdzskaņu
#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; )
Rezultāts
Ievadiet alfabētu: GG ir līdzskaņa.
Lietotāja ievadītā rakstzīme tiek saglabāta mainīgajā c.
Mazo burtu mainīgais mainās uz 1 (patiess), ja c ir mazo patskanis un 0 (nepatiesa) attiecībā uz citām rakstzīmēm.
Līdzīgi mainīgais lielie_patskaņs tiek vērtēts kā 1 (patiess), ja c ir lielo patskanis un 0 (nepatiesa) jebkurai citai rakstzīmei.
Ja mainīgais lielums mazie_patskaņa vai lielie_vokaļi ir 1 (patiess), ievadītais raksturs ir patskaņs. Tomēr, ja mainīgo lieluma mazie_patskaņa un lielie_vokaļi ir 0, ievadītais raksturs ir līdzskaņs.
Piezīme: Šī programma pieņem, ka lietotājs ievadīs alfabētu. Ja lietotājs ievada rakstzīmi, kas nav alfabēta, tā parāda, ka raksturs ir līdzskaņs.
Lai to novērstu, mēs varam izmantot funkciju isalpha (). Par islapha()
funkcija pārbauda, vai raksturs ir, alfabēts, vai nav.
#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; )
Tagad, ja lietotājs ievadīs rakstzīmi, kas nav alfabēta, jūs redzēsiet:
Ievadiet alfabētu: 3 kļūda! Bez alfabēta raksturs.