Σε αυτό το παράδειγμα, θα μάθετε να ελέγχετε αν ένα αλφάβητο που εισάγεται από τον χρήστη είναι φωνήεν ή σύμφωνο.
Για να κατανοήσετε αυτό το παράδειγμα, θα πρέπει να γνωρίζετε τις ακόλουθες θεματολογίες προγραμματισμού Γ:
- Χ προγραμματιστές προγραμματισμού
- C αν… αλλιώς Δήλωση
- C ενώ και κάνουμε… ενώ Loop
Τα πέντε γράμματα A
, E
, I
, O
και U
ονομάζονται φωνήεντα. Όλα τα άλλα αλφάβητα εκτός από αυτά τα 5 φωνήεντα ονομάζονται σύμφωνα.
Αυτό το πρόγραμμα προϋποθέτει ότι ο χρήστης θα εισάγει πάντα αλφαβητικό χαρακτήρα.
Πρόγραμμα για τον έλεγχο φωνήεντος ή σύμφωνου
#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; )
Παραγωγή
Εισαγάγετε ένα αλφάβητο: Το GG είναι σύμφωνο.
Ο χαρακτήρας που εισάγει ο χρήστης αποθηκεύεται στη μεταβλητή c.
Η μεταβλητή lowercase_vowel αξιολογεί στο 1 (true) εάν το c είναι πεζά φωνήεν και 0 (false) για άλλους χαρακτήρες.
Ομοίως, η μεταβλητή κεφαλαίων_ φωνητικών αξιολογεί στο 1 (true) εάν το c είναι κεφαλαίο φωνήεν και 0 (false) για οποιονδήποτε άλλο χαρακτήρα.
Εάν μια μεταβλητή με πεζά γράμματα ή κεφαλαία γράμματα είναι 1 (true), ο χαρακτήρας που εισαγάγατε είναι φωνήεν. Ωστόσο, εάν και οι δύο μεταβλητές πεζών και φωνητικών κεφαλαίων είναι 0, ο εισαγόμενος χαρακτήρας είναι ένα σύμφωνο.
Σημείωση: Αυτό το πρόγραμμα προϋποθέτει ότι ο χρήστης θα εισαγάγει ένα αλφάβητο. Εάν ο χρήστης εισαγάγει έναν μη αλφαβητικό χαρακτήρα, εμφανίζει ότι ο χαρακτήρας είναι σύμφωνος.
Για να το διορθώσουμε, μπορούμε να χρησιμοποιήσουμε τη συνάρτηση isalpha (). Η islapha()
συνάρτηση ελέγχει αν ένας χαρακτήρας είναι αλφάβητο ή όχι.
#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; )
Τώρα, εάν ο χρήστης εισαγάγει έναν μη αλφαβητικό χαρακτήρα, θα δείτε:
Εισαγάγετε ένα αλφάβητο: 3 Σφάλμα! Μη αλφαβητικός χαρακτήρας.