W tym przykładzie nauczysz się sprawdzać, czy alfabet wprowadzony przez użytkownika jest samogłoską czy spółgłoską.
Aby zrozumieć ten przykład, powinieneś znać następujące tematy programowania w C:
- Operatorzy programowania C.
- C if… else Statement
- C while i zrób… while Loop
Pięć liter A
, E
, I
, O
i U
nazywane są samogłoski. Wszystkie inne alfabety z wyjątkiem tych 5 samogłosek nazywane są spółgłoskami.
Program ten zakłada, że użytkownik zawsze będzie wprowadzał znak alfabetu.
Program do sprawdzania samogłoski lub spółgłoski
#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; )
Wynik
Wpisz alfabet: GG to spółgłoska.
Znak wprowadzony przez użytkownika jest przechowywany w zmiennej c.
Zmienna lowercase_vowel ma wartość 1 (prawda), jeśli c jest samogłoską małą literą i 0 (fałsz) dla innych znaków.
Podobnie, zmienna uppercase_vowel przyjmuje wartość 1 (prawda), jeśli c jest samogłoską wielkiej litery, a 0 (fałsz) dla dowolnego innego znaku.
Jeśli zmienna lowercase_vowel lub uppercase_vowel ma wartość 1 (prawda), wprowadzanym znakiem jest samogłoska. Jeśli jednak zarówno zmienne lowercase_vowel, jak i uppercase_vowel mają wartość 0, wprowadzony znak jest spółgłoską.
Uwaga: ten program zakłada, że użytkownik wprowadzi alfabet. Jeśli użytkownik wprowadzi znak niealfabetyczny, zostanie wyświetlony znak będący spółgłoską.
Aby to naprawić, możemy użyć funkcji isalpha (). Te islapha()
kontrole funkcyjne czy postać jest alfabet, czy 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, jeśli użytkownik wpisze znak niealfabetyczny, zobaczysz:
Wpisz alfabet: 3 Błąd! Znak niealfabetyczny.