Come utilizzare l'istruzione Switch per le stringhe in C ++

Come utilizzare l'istruzione Switch per le stringhe in C ++
In c++, un'istruzione switch è un'istruzione di flusso di controllo che consente di scegliere una delle diverse vie di esecuzione in base al valore di una variabile. I programmatori possono creare complicati sistemi decisionali utilizzando l'istruzione Switch.

Una serie di etichette dei casi viene confrontata con il valore di una variabile di input o un'espressione usando il Dichiarazione di commutazione. La variabile di input viene testata rispetto alle etichette dei casi, che sono valori e se viene rilevata una corrispondenza, viene eseguito il codice dell'istruzione del caso.

IL Dichiarazione di commutazione In C ++ viene spesso usato quando si lavora con caratteri e numeri, ma può anche essere usato con stringhe per valutare molte condizioni più rapidamente. In questo articolo, dimostreremo come usare le stringhe con la C++ Dichiarazione di commutazione.

Switch Dichiarazione con stringhe

IL scatola dell'interruttore Valuta solo le espressioni intera, quindi c'è una presa quando si utilizza la classe di stringhe. I confronti delle stringhe non possono essere effettuati direttamente in a Dichiarazione di commutazione. Al fine di valutare correttamente la stringa, Dobbiamo prima trasformarlo in un numero numerico.

Quindi, possiamo utilizzare la classe String e i suoi metodi membri per utilizzare l'istruzione Switch con stringhe. La classe String ha una serie di metodi che possono essere utilizzati per gestire le stringhe, tra cui le funzioni di confronto (), find () e substr ().

Possiamo prima dichiarare una variabile stringa e dargli un valore iniziale. IL Dichiarazione di commutazione può quindi essere usato con la variabile stringa. Pensa al seguente codice, ad esempio:

#includere
Utilizzo dello spazio dei nomi std;
int main ()

string fruit = "mela";
switch (frutto)
Caso "Banana":
cout << "This is a banana." << endl;
rottura;
Caso "Orange":
cout << "This is an orange." << endl;
rottura;
Caso "Apple":
cout << "This is an apple." << endl;
rottura;
predefinito:
cout << "This is not a valid fruit." << endl;
rottura;

restituzione 0;

In questa illustrazione, il valore iniziale della variabile stringa "frutta" è "mela". È un frutto stampato dopo che l'istruzione Switch analizza la variabile "frutta". Stampa "che è una verdura" se "carota" è il valore di "frutta."Se nessuno dei criteri viene soddisfatto, viene stampato" input non valido ".

Produzione

Il codice sopra darà un errore che la quantità di switch non è un numero intero. Per correggere questa soluzione seguente è possibile utilizzare.

Switch Direction sulla stringa usando la funzione confronta ()

Fortunatamente, il "confrontare()"La funzione membro della classe stringa produce un valore intero che rappresenta il risultato di confronto di due stringhe. La funzione di confronto fornisce un risultato di 0 se le stringhe sono uguali, un numero negativo o positivo a seconda che la prima stringa sia più o più piccola della seconda stringa.

Pertanto, possiamo usare la funzione confronta () per confrontare stringhe in casi di interruttore. Ecco un esempio di utilizzo della funzione di confronto:

#includere
Utilizzo dello spazio dei nomi std;
int main ()

string fruit = "mela";
interruttore (frutta.confronta ("Apple"))
Caso 0:
cout << "It's a fruit." << endl;
rottura;
caso 1:
cout << "It's a vegetable." << endl;
rottura;
predefinito:
cout << "Invalid input." << endl;

restituzione 0;

Nell'esempio sopra, abbiamo usato la funzione di confronto per confrontare le stringhe "frutta" e "mela."Se il risultato del confronto è zero, il messaggio" è un frutto "viene stampato. Stampa "questo è un vegetale" se il risultato del confronto è negativo. In caso contrario, visualizza "input non valido."

Produzione

È importante notare che le stringhe devono essere racchiuse in doppie citazioni ("") se utilizzate come etichette dei casi. Le citazioni singole (“) comporteranno un errore di compilazione.

Programmazione Dichiarazione di commutazione è uno strumento efficace perché consente di prendere decisioni complicate in base a una singola variabile di input. Quando hai bisogno di strutturare il tuo codice su molti risultati possibili diversi, è molto utile.

IL Switch Dichiarazione La capacità di utilizzare le stringhe come case etichette è un'altra caratteristica fantastica. Le versioni successive di C ++, incluso C ++ 11, includono questa capacità.

Conclusione

IL Dichiarazione di commutazione In C ++ è un'istruzione di flusso di controllo che consente un processo decisionale complicato basato su una singola variabile di input. È uno strumento eccellente per strutturare il tuo codice e gestire molti potenziali risultati. IL Dichiarazione di commutazione guadagna extra versatilità supportando l'uso delle stringhe come etichette dei casi, rendendolo uno strumento più utile per gli scrittori C ++.