Διακόπτης C ++ ... Δήλωση περίπτωσης (με παραδείγματα)

Σε αυτό το σεμινάριο, θα μάθουμε για το διακόπτη δήλωσης και τη λειτουργία του στον προγραμματισμό C ++ με τη βοήθεια ορισμένων παραδειγμάτων.

Η switchδήλωση μας επιτρέπει να εκτελέσουμε ένα μπλοκ κώδικα μεταξύ πολλών εναλλακτικών λύσεων.

Η σύνταξη της switchδήλωσης στο C ++ είναι:

 switch (expression) ( case constant1: // code to be executed if // expression is equal to constant1; break; case constant2: // code to be executed if // expression is equal to constant2; break;… default: // code to be executed if // expression doesn't match any constant )

Πώς λειτουργεί η δήλωση διακόπτη;

Η expressionαξιολόγηση αξιολογείται μία φορά και συγκρίνεται με τις τιμές κάθε caseετικέτας.

  • Εάν υπάρχει αντιστοιχία, ο αντίστοιχος κωδικός μετά την εκτέλεση της ετικέτας αντιστοίχισης. Για παράδειγμα, εάν η τιμή της μεταβλητής είναι ίση με constant2, ο κωδικός μετά case constant2:εκτελείται μέχρι να breakεμφανιστεί η δήλωση.
  • Εάν δεν υπάρχει αντιστοιχία, ο κωδικός μετά default:εκτελείται.

Σημείωση : Μπορούμε να κάνουμε το ίδιο πράγμα με τη if… else… ifσκάλα. Ωστόσο, η σύνταξη της switchδήλωσης είναι καθαρότερη και πολύ πιο εύκολη στην ανάγνωση και τη γραφή.

Διάγραμμα ροής της δήλωσης διακόπτη

Διάγραμμα ροής του διακόπτη C ++… δήλωση περίπτωσης

Παράδειγμα: Δημιουργήστε μια αριθμομηχανή χρησιμοποιώντας το διακόπτη Statement

 // Program to build a simple calculator using switch Statement #include using namespace std; int main() ( char oper; float num1, num2; cout <> oper; cout << "Enter two numbers: " <> num1>> num2; switch (oper) ( case '+': cout << num1 << " + " << num2 << " = " << num1 + num2; break; case '-': cout << num1 << " - " << num2 << " = " << num1 - num2; break; case '*': cout << num1 << " * " << num2 << " = " << num1 * num2; break; case '/': cout << num1 << " / " << num2 << " = " << num1 / num2; break; default: // operator is doesn't match any case constant (+, -, *, /) cout << "Error! The operator is not correct"; break; ) return 0; )

Έξοδος 1

 Εισαγάγετε έναν τελεστή (+, -, *, /): + Εισαγάγετε δύο αριθμούς: 2.3 4.5 2.3 + 4.5 = 6.8

Έξοδος 2

 Εισαγάγετε έναν τελεστή (+, -, *, /): - Εισαγάγετε δύο αριθμούς: 2.3 4.5 2.3 - 4.5 = -2.2

Έξοδος 3

 Εισαγάγετε έναν τελεστή (+, -, *, /): * Εισαγάγετε δύο αριθμούς: 2.3 4.5 2.3 * 4.5 = 10.35

Έξοδος 4

 Εισαγάγετε έναν τελεστή (+, -, *, /): / Εισαγάγετε δύο αριθμούς: 2.3 4.5 2.3 / 4.5 = 0.511111

Έξοδος 5

Εισαγάγετε έναν τελεστή (+, -, *, /):? Εισαγάγετε δύο αριθμούς: 2.3 4.5 Σφάλμα! Ο χειριστής δεν είναι σωστός.

Στο παραπάνω πρόγραμμα, χρησιμοποιούμε τη switch… caseδήλωση για την εκτέλεση προσθήκης, αφαίρεσης, πολλαπλασιασμού και διαίρεσης.

Πώς λειτουργεί αυτό το πρόγραμμα

  1. Αρχικά ζητάμε από τον χρήστη να εισαγάγει τον επιθυμητό τελεστή. Αυτή η είσοδος αποθηκεύεται στη συνέχεια στη charμεταβλητή που ονομάζεται oper.
  2. Στη συνέχεια, ζητάμε από τον χρήστη να εισαγάγει δύο αριθμούς, οι οποίοι αποθηκεύονται στις μεταβλητές float num1 και num2.
  3. Στη switchσυνέχεια, η δήλωση χρησιμοποιείται για τον έλεγχο του τελεστή που έχει εισαγάγει ο χρήστης:
    • Εάν ο χρήστης εισέλθει +, η προσθήκη πραγματοποιείται στους αριθμούς.
    • Εάν ο χρήστης εισέλθει -, η αφαίρεση πραγματοποιείται στους αριθμούς.
    • Εάν ο χρήστης εισέλθει *, ο πολλαπλασιασμός πραγματοποιείται στους αριθμούς.
    • Εάν ο χρήστης εισέλθει /, η διαίρεση πραγματοποιείται στους αριθμούς.
    • Εάν ο χρήστης εισαγάγει οποιονδήποτε άλλο χαρακτήρα, εκτυπώνεται ο προεπιλεγμένος κωδικός.

Παρατηρήστε ότι η breakδήλωση χρησιμοποιείται μέσα σε κάθε caseμπλοκ. Αυτό τερματίζει τη switchδήλωση.

Εάν η breakδήλωση δεν χρησιμοποιείται, caseεκτελούνται όλες οι περιπτώσεις μετά το σωστό .

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