Σε αυτό το σεμινάριο, θα μάθουμε για το διακόπτη δήλωσης και τη λειτουργία του στον προγραμματισμό 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
δήλωση για την εκτέλεση προσθήκης, αφαίρεσης, πολλαπλασιασμού και διαίρεσης.
Πώς λειτουργεί αυτό το πρόγραμμα
- Αρχικά ζητάμε από τον χρήστη να εισαγάγει τον επιθυμητό τελεστή. Αυτή η είσοδος αποθηκεύεται στη συνέχεια στη
char
μεταβλητή που ονομάζεται oper. - Στη συνέχεια, ζητάμε από τον χρήστη να εισαγάγει δύο αριθμούς, οι οποίοι αποθηκεύονται στις μεταβλητές float num1 και num2.
- Στη
switch
συνέχεια, η δήλωση χρησιμοποιείται για τον έλεγχο του τελεστή που έχει εισαγάγει ο χρήστης:- Εάν ο χρήστης εισέλθει
+
, η προσθήκη πραγματοποιείται στους αριθμούς. - Εάν ο χρήστης εισέλθει
-
, η αφαίρεση πραγματοποιείται στους αριθμούς. - Εάν ο χρήστης εισέλθει
*
, ο πολλαπλασιασμός πραγματοποιείται στους αριθμούς. - Εάν ο χρήστης εισέλθει
/
, η διαίρεση πραγματοποιείται στους αριθμούς. - Εάν ο χρήστης εισαγάγει οποιονδήποτε άλλο χαρακτήρα, εκτυπώνεται ο προεπιλεγμένος κωδικός.
- Εάν ο χρήστης εισέλθει
Παρατηρήστε ότι η break
δήλωση χρησιμοποιείται μέσα σε κάθε case
μπλοκ. Αυτό τερματίζει τη switch
δήλωση.
Εάν η break
δήλωση δεν χρησιμοποιείται, case
εκτελούνται όλες οι περιπτώσεις μετά το σωστό .