C Πρόγραμμα για να ελέγξετε αν ένας χαρακτήρας είναι φωνήεν ή σύμφωνο

Σε αυτό το παράδειγμα, θα μάθετε να ελέγχετε αν ένα αλφάβητο που εισάγεται από τον χρήστη είναι φωνήεν ή σύμφωνο.

Για να κατανοήσετε αυτό το παράδειγμα, θα πρέπει να γνωρίζετε τις ακόλουθες θεματολογίες προγραμματισμού Γ:

  • Χ προγραμματιστές προγραμματισμού
  • 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 Σφάλμα! Μη αλφαβητικός χαρακτήρας.

ενδιαφέροντα άρθρα...