C++ Εναλλαγή δήλωσης περίπτωσης με ΠΑΡΑΔΕΙΓΜΑΤΑ προγράμματος

⚡ Έξυπνη Σύνοψη

Μια εντολή switch σε C++ επιλέγει ένα μπλοκ κώδικα για εκτέλεση από πολλές επιλογές με βάση την τιμή μιας μεταβλητής. Εδώ θα μάθετε πώς λειτουργεί ένας διακόπτης, τη σύνταξή του, τη λέξη-κλειδί break και παραδείγματα.

  • 🔀 Αυτό που είναι: Ένας διακόπτης επιλέγει μια περίπτωση για εκτέλεση με βάση την τιμή μιας μεταβλητής.
  • 🧾 Σύνταξη: switch(expr) με ετικέτες πεζών-κεφαλαίων, αλλαγή και μια προαιρετική προεπιλογή.
  • ⏹️ Διακοπή: Η διακοπή εμποδίζει την εκτέλεση να μην προχωρήσει στην επόμενη υπόθεση.
  • 🎯 Πότε πρέπει να χρησιμοποιήσετε: Χρησιμοποιήστε το για να αντικαταστήσετε μεγάλες αλυσίδες if-else σε μία μεταβλητή.
  • 🤖 Βοήθεια με την Τεχνητή Νοημοσύνη: Εργαλεία τεχνητής νοημοσύνης όπως το GitHub Copilot γράφουν και ελέγχουν εντολές διακόπτη.

C++ Αλλαγή δήλωσης

Τι είναι ο διακόπτης;

Η δήλωση switch βοηθά στον έλεγχο της ισότητας μιας μεταβλητής έναντι ενός συνόλου τιμών. Κάθε τιμή υπό σύγκριση είναι γνωστή ως περίπτωση.

Δείτε το διακόπτη ως δήλωση διακλάδωσης πολλαπλών δρόμων. Μπορείτε να μετατοπίσετε την εκτέλεση του προγράμματος σε διάφορα μέρη με βάση την τιμή της έκφρασης.

Πότε να χρησιμοποιήσετε διακόπτη;

Ο διακόπτης είναι παρόμοιος με τη σκάλα if…else…if. Ωστόσο, δημιουργεί έναν πιο καθαρό και κατανοητό κώδικα. Ο διακόπτης είναι επίσης πιο γρήγορος σε σύγκριση με τη σκάλα if…else…if. Χρησιμοποιήστε τη δήλωση switch όταν χρειάζεται να συγκρίνετε την τιμή μιας μεταβλητής με ένα σύνολο άλλων τιμών.

Λέξη-κλειδί διάλειμμα

Η λέξη-κλειδί break χρησιμοποιείται μέσα στη δήλωση switch. Αποτρέπει την εκτέλεση του κώδικα στην επόμενη περίπτωση. Τερματίζει μια ακολουθία δηλώσεων.

Όταν ο C++ ο μεταγλωττιστής συναντά μια λέξη-κλειδί διακοπής, η εκτέλεση του διακόπτη τερματίζεται και ο έλεγχος μεταβαίνει στη γραμμή που έρχεται μετά την εντολή διακόπτη. Η χρήση μιας δήλωσης διακοπής σε έναν διακόπτη είναι προαιρετική. Εάν δεν χρησιμοποιηθεί, η εκτέλεση συνεχίζεται στην επόμενη περίπτωση.

Σύνταξη

Ακολουθεί η σύνταξη για τη δήλωση διακόπτη:

switch (variable)
{
    case 1: 
        break;
    case 2: 
        break;
    default: 
}	

Οι παραπάνω παράμετροι εξηγούνται παρακάτω:

  • Μεταβλητός: Αυτή είναι η μεταβλητή για την οποία πρέπει να γίνει σύγκριση.
  • Υπόθεση: Υπάρχουν πολλές δηλώσεις υποθέσεων. Το καθένα συγκρίνει τη μεταβλητή με διαφορετική τιμή.
  • Διακοπή: Αυτή η λέξη-κλειδί εμποδίζει τη συνέχιση της εκτέλεσης στην επόμενη δήλωση περίπτωσης.
  • Αθέτηση: Αυτό είναι προαιρετικό. Δηλώνει τι πρέπει να γίνει, η τιμή της μεταβλητής δεν ταίριαζε σε καμία περίπτωση.

Παράδειγμα προγράμματος Switch Case 1

#include<iostream> 
using namespace std;
int main()
{
	int x = 20;
	switch (x)
	{
	case 10: 
		cout<<"X is 10"; break;

	case 20: 
		cout << "X is 20"; break;

	case 30: 
		cout << "X is 30"; break;

	default: 
		cout<<"X is not 10, 20 or 30"; break;

	}
	return 0;
}

Παραγωγή:

Πρόγραμμα Switch Case

Εδώ είναι ένα στιγμιότυπο οθόνης του κώδικα:

Πρόγραμμα Switch Case

Code Επεξήγηση:

  1. Συμπεριλαμβανομένου του αρχείου κεφαλίδας iostream στον κώδικά μας. Θα μας επιτρέψει να διαβάζουμε και να γράφουμε στην κονσόλα.
  2. Συμπεριλαμβανομένου του χώρου ονομάτων std ώστε να χρησιμοποιηθούν οι κλάσεις του και λειτουργίες χωρίς να το καλέσει.
  3. Κλήση της συνάρτησης main() εντός της οποίας πρέπει να προστεθεί η λογική του προγράμματος.
  4. Το { επισημαίνει την αρχή του σώματος της συνάρτησης main().
  5. Δήλωση μιας μεταβλητής x και αρχικοποίηση της στο 20.
  6. Χρησιμοποιώντας την εντολή switch και μεταβιβάζοντάς της το όρισμα x. Σημαίνει ότι πρέπει να συγκρίνουμε την τιμή της μεταβλητής x με ένα σύνολο άλλων τιμών.
  7. Το { σηματοδοτεί την αρχή του σώματος του διακόπτη.
  8. Συγκρίνοντας την τιμή της μεταβλητής x με μια τιμή 10.
  9. Δήλωση που πρέπει να εκτελεστεί εάν η παραπάνω περίπτωση είναι αληθής, δηλαδή εάν το x είναι 10. Η διακοπή εμποδίζει τη συνέχιση της εκτέλεσης στην επόμενη περίπτωση.
  10. Συγκρίνοντας την τιμή της μεταβλητής x με μια τιμή 20.
  11. Δήλωση που πρέπει να εκτελεστεί εάν η παραπάνω περίπτωση είναι αληθής, δηλαδή εάν το x είναι 20. Η διακοπή εμποδίζει τη συνέχιση της εκτέλεσης στην επόμενη περίπτωση.
  12. Συγκρίνοντας την τιμή της μεταβλητής x με μια τιμή 30.
  13. Δήλωση που πρέπει να εκτελεστεί εάν η παραπάνω περίπτωση είναι αληθής, δηλαδή εάν το x είναι 30. Η διακοπή εμποδίζει τη συνέχιση της εκτέλεσης στην επόμενη περίπτωση.
  14. Η προεπιλογή μας βοηθά να δηλώσουμε τι πρέπει να κάνουμε εάν η τιμή της μεταβλητής x δεν είναι 10, 20 ή 30.
  15. Η δήλωση που πρέπει να εκτελεστεί εάν οι παραπάνω περιπτώσεις δεν είναι αληθείς, δηλαδή εάν το x δεν είναι 10, 20 ή 30.
  16. Τέλος του σώματος μιας δήλωσης διακόπτη.
  17. Η συνάρτηση main() θα πρέπει να επιστρέψει μια τιμή εάν το πρόγραμμα εκτελείται σωστά.
  18. Τέλος του σώματος της συνάρτησης main().

Ελέγξτε επίσης το άρθρο μας σχετικά με τη διαφορά μεταξύ C και C++:- Click Here

Παράδειγμα προγράμματος Switch Case 2

#include <iostream>  
using namespace std;
int main() {
	int choice;
	cout << "Enter 1, 2 or 3: ";
	cin >> choice;
	switch (choice)
	{
	case 1: 
		cout << "Choice 1"; break;
	case 2: 
		cout << "Choice 2"; break;
	case 3: 
		cout << "Choice 3"; break;
	default: 
		cout << "Not 1, 2 or 3"; break;
	}
}

Παραγωγή:

Πρόγραμμα Switch Case

Εδώ είναι ένα στιγμιότυπο οθόνης του κώδικα:

Πρόγραμμα Switch Case

Code Επεξήγηση:

  1. Συμπεριλαμβανομένου του αρχείου κεφαλίδας iostream στον κώδικά μας. Θα μας επιτρέψει να διαβάζουμε και να γράφουμε στην κονσόλα.
  2. Συμπεριλαμβανομένου του χώρου ονομάτων std ώστε να χρησιμοποιείτε τις κλάσεις και τις συναρτήσεις του χωρίς να τον καλείτε.
  3. Κλήση της συνάρτησης main() εντός της οποίας πρέπει να προστεθεί η λογική του προγράμματος. Το { επισημαίνει την αρχή του σώματος της συνάρτησης main().
  4. Δήλωση μιας ακέραιας μεταβλητής με όνομα επιλογή.
  5. Εκτύπωση κειμένου στην κονσόλα.
  6. Προτρέποντας τον χρήστη να εισαγάγει την τιμή επιλογής.
  7. Χρησιμοποιώντας τη δήλωση switch και μεταβιβάζοντας την επιλογή του ορίσματος σε αυτήν. Σημαίνει ότι πρέπει να συγκρίνουμε την τιμή της επιλογής μεταβλητής με ένα σύνολο άλλων τιμών.
  8. Το { σηματοδοτεί την αρχή του σώματος του διακόπτη.
  9. Συγκρίνοντας την τιμή της μεταβλητής επιλογής με μια τιμή 1.
  10. Δήλωση που πρέπει να εκτελεστεί εάν η παραπάνω περίπτωση είναι αληθής, δηλαδή εάν η επιλογή είναι 10. Η διακοπή εμποδίζει τη συνέχιση της εκτέλεσης στην επόμενη περίπτωση.
  11. Συγκρίνοντας την τιμή της μεταβλητής επιλογής με μια τιμή 2.
  12. Δήλωση που πρέπει να εκτελεστεί εάν η παραπάνω περίπτωση είναι αληθής, δηλαδή εάν η επιλογή είναι 2. Η διακοπή εμποδίζει τη συνέχιση της εκτέλεσης στην επόμενη περίπτωση.
  13. Συγκρίνοντας την τιμή της μεταβλητής επιλογής με μια τιμή 3.
  14. Δήλωση που πρέπει να εκτελεστεί εάν η παραπάνω περίπτωση είναι αληθής, δηλαδή εάν η επιλογή είναι 3. Η διακοπή εμποδίζει τη συνέχιση της εκτέλεσης στην επόμενη περίπτωση.
  15. Η προεπιλογή μας βοηθά να δηλώσουμε τι πρέπει να κάνουμε εάν η τιμή της επιλογής μεταβλητής δεν είναι 1, 2 ή 3.
  16. Η δήλωση που πρέπει να εκτελεστεί εάν οι παραπάνω περιπτώσεις δεν είναι αληθείς, δηλαδή εάν η επιλογή δεν είναι 1, 2 ή 3.
  17. Τέλος του σώματος της δήλωσης διακόπτη.
  18. Τέλος του σώματος της συνάρτησης main().

Συχνές Ερωτήσεις

Μια εντολή switch επιλέγει ένα μπλοκ κώδικα για εκτέλεση από διάφορες περιπτώσεις, με βάση την τιμή μιας μεμονωμένης μεταβλητής ή έκφρασης.

Η σύνταξη χρησιμοποιεί switch(expression) με μία ή περισσότερες ετικέτες πεζών-κεφαλαίων, μια αλλαγή μετά από κάθε πεζή-κεφαλαία και μια προαιρετική προεπιλεγμένη πεζή-κεφαλαία για μη ταιριασμένες τιμές.

Η εντολή break τερματίζει τον διακόπτη και εμποδίζει την εκτέλεση να μην περάσει στην επόμενη περίπτωση. Χωρίς αυτήν, εκτελούνται επίσης οι περιπτώσεις που ακολουθούν.

Χρησιμοποιήστε έναν διακόπτη όταν συγκρίνετε μια μεταβλητή με πολλές σταθερές τιμές, καθώς είναι πιο ξεκάθαρο από μια μακρά αλυσίδα εντολών if-else.

Ένας διακόπτης ελέγχει μια μεταβλητή σε σχέση με σταθερές τιμές, ενώ η συνάρτηση if-else μπορεί να ελέγξει εύρη και σύνθετες συνθήκες. Ο διακόπτης είναι συχνά πιο καθαρός για πολλές σταθερές επιλογές.

Η προεπιλεγμένη περίπτωση εκτελείται όταν καμία περίπτωση δεν ταιριάζει με την έκφραση. Είναι προαιρετική και συνήθως τοποθετείται τελευταία για να χειριστεί μη αναμενόμενες τιμές.

Οι βοηθοί τεχνητής νοημοσύνης, όπως το GitHub Copilot, δημιουργούν εντολές switch από ένα σχόλιο, προσθέτουν εντολές break που λείπουν και μετατρέπουν μεγάλες αλυσίδες if-else σε switches.

Ναι. Τα εργαλεία με τεχνητή νοημοσύνη επισημαίνουν ελλείπουσες δηλώσεις διακοπής, μη προσβάσιμες περιπτώσεις και απούσες περιπτώσεις προεπιλεγμένων ρυθμίσεων, helping your C++ Η λογική του διακόπτη εκτελείται σωστά.

Συνοψίστε αυτήν την ανάρτηση με: