Une série d'étiquettes de cas est comparée à la valeur d'une variable d'entrée ou d'une expression en utilisant le Déclaration de commutation. La variable d'entrée est testée par rapport aux étiquettes de cas, qui sont des valeurs, et si une correspondance est trouvée, le code de l'instruction de cas est exécuté.
Le Déclaration de commutation En C ++, est fréquemment utilisé lorsque vous travaillez avec des caractères et des nombres, mais il peut également être utilisé avec des chaînes pour évaluer de nombreuses conditions plus rapidement. Dans cet article, nous montrerons comment utiliser les chaînes avec le C++ Déclaration de commutation.
Instruction de commutation avec des chaînes
Le casse de commutation Évalue uniquement les expressions entières, il y a donc une prise lors de l'utilisation de la classe de chaîne. Les comparaisons de chaînes ne peuvent pas être effectuées directement dans un Déclaration de commutation. Afin d'évaluer correctement la chaîne, Nous devons d'abord le transformer en un nombre numérique.
Ainsi, nous pouvons utiliser la classe String et ses méthodes de membres pour utiliser l'instruction Switch avec des chaînes. La classe String a un certain nombre de méthodes qui peuvent être utilisées pour gérer les chaînes, y compris les fonctions compare (), find () et substr ().
Nous pouvons d'abord déclarer une variable de chaîne et lui donner une valeur de départ. Le Déclaration de commutation peut ensuite être utilisé avec la variable de chaîne. Pensez au code suivant, par exemple:
#inclure
Utilisation de Namespace Std;
int main()
String fruit = "pomme";
commutateur (fruit)
cas "banane":
couter << "This is a banana." << endl;
casser;
cas "orange":
couter << "This is an orange." << endl;
casser;
cas "Apple":
couter << "This is an apple." << endl;
casser;
défaut:
couter << "This is not a valid fruit." << endl;
casser;
retour 0;
Dans cette illustration, la valeur initiale de la variable de chaîne «fruit» est «pomme». C'est un fruit imprimé après que l'instruction Switch a analysé le «fruit» variable. Il imprime «c'est un légume» si «carotte» est la valeur de «fruit.«Si aucun des critères n'est rempli,« entrée non valide »est imprimée.
Sortir
Le code ci-dessus donnera une erreur que la quantité de commutation n'est pas un entier. Pour corriger cette solution suivante peut être utilisée.
Instruction de commutation sur la chaîne à l'aide de la fonction compare ()
Heureusement, le «comparer()»La fonction membre de la classe String produit une valeur entière qui représente le résultat de comparaison de deux chaînes. La fonction de comparaison donne le résultat de 0 si les chaînes sont égales, un nombre qui est négatif ou positif selon que la première chaîne est plus ou plus petite que la deuxième chaîne.
Par conséquent, nous pouvons utiliser la fonction compare () pour comparer chaînes dans les cas de commutateur. Voici un exemple d'utilisation de la fonction compare:
#inclure
Utilisation de Namespace Std;
int main()
String fruit = "pomme";
Commutation (fruit.comparer ("Apple"))
Cas 0:
couter << "It's a fruit." << endl;
casser;
cas 1:
couter << "It's a vegetable." << endl;
casser;
défaut:
couter << "Invalid input." << endl;
retour 0;
Dans l'exemple ci-dessus, nous avons utilisé la fonction de comparaison pour comparer les cordes «fruits» et «pomme.«Si le résultat de la comparaison est nul, le message« c'est un fruit »est imprimé. Il imprime «c'est un légume» si le résultat de comparaison est négatif. Sinon, il affiche «une entrée non valide."
Sortir
Il est important de noter que les chaînes doivent être enfermées en doubles citations («») lorsqu'ils sont utilisés comme étiquettes de cas. Des citations uniques («) entraîneront une erreur de compilation.
Programmation Déclaration de commutation est un outil efficace car il permet de prendre des décisions compliquées sur la base d'une seule variable d'entrée. Lorsque vous devez structurer votre code autour de nombreux résultats possibles différents, c'est très utile.
Le Switch Statement est Capacité à utiliser les chaînes comme étiquettes de caisse est une autre caractéristique fantastique. Les versions ultérieures de C ++, y compris C ++ 11, incluent cette capacité.
Conclusion
Le Déclaration de commutation Dans C ++ est une instruction de flux de contrôle qui permet une prise de décision compliquée basée sur une seule variable d'entrée. C'est un excellent outil pour structurer votre code et gérer de nombreux résultats potentiels. Le Déclaration de commutation gagne une polyvalence supplémentaire en soutenant l'utilisation des chaînes comme étiquettes de cas, ce qui en fait un outil plus utile pour les écrivains C ++.