Como usar a instrução Switch para strings em C ++

Como usar a instrução Switch para strings em C ++
Em c++, uma declaração de interruptor é uma declaração de fluxo de controle que permite escolher uma das várias vias de execução com base no valor de uma variável. Os programadores podem criar sistemas de tomada de decisão complicados usando a instrução SWITCH.

Uma série de rótulos de caso é comparada ao valor de uma variável de entrada ou expressão usando o Declaração de interruptor. A variável de entrada é testada em relação aos rótulos de caso, que são valores e, se uma correspondência for encontrada, o código da declaração do caso será executado.

O Declaração de interruptor No C ++ é freqüentemente usado ao trabalhar com caracteres e números, mas também pode ser usado com strings para avaliar muitas condições mais rapidamente. Neste artigo, demonstraremos como usar strings com o C++ Declaração de interruptor.

Declaração de troca com strings

O Caso de interruptor Avalia apenas expressões inteiras, portanto, há uma captura ao utilizar a classe String. Comparações de string não podem ser feitas diretamente em um Declaração de interruptor. Para avaliar adequadamente a string, devemos primeiro transformá -lo em um número numérico.

Portanto, podemos utilizar a classe String e seus métodos de membro para usar a instrução SWITCH com strings. A classe String possui vários métodos que podem ser usados ​​para gerenciar strings, incluindo funções compare (), find () e substr ().

Podemos primeiro declarar uma variável de string e dar um valor inicial. O Declaração de interruptor pode então ser usado com a variável string. Pense no código a seguir, por exemplo:

#incluir
usando namespace std;
int main ()

string frut = "maçã";
Switch (Fruit)
caso "banana":
cout << "This is a banana." << endl;
quebrar;
caso "laranja":
cout << "This is an orange." << endl;
quebrar;
caso "maçã":
cout << "This is an apple." << endl;
quebrar;
padrão:
cout << "This is not a valid fruit." << endl;
quebrar;

retornar 0;

Nesta ilustração, o valor inicial da variável string "Fruit" é "maçã". É uma fruta é impressa após a declaração do interruptor analisar a variável “fruta”. Ele imprime “isso é um vegetal” se “cenoura” é o valor de “fruta."Se nenhum dos critérios for atendido," entrada inválida "será impressa.

Saída

O código acima dará um erro de que a quantidade do interruptor não é um número inteiro. Para corrigir esta solução a seguir pode ser usada.

Declaração de comutador na String Usando a função Compare ()

Felizmente, o “comparar()”A função do membro da classe String produz um valor inteiro que representa o resultado da comparação de duas strings. A função de comparação dá resultado de 0 se as strings forem iguais, um número que é negativo ou positivo, dependendo se a primeira sequência é mais ou menor que a segunda sequência.

Portanto, podemos usar a função compare () para comparar Strings em casos de comutação. Aqui está um exemplo de uso da função de comparação:

#incluir
usando namespace std;
int main ()

string frut = "maçã";
Switch (fruta.Compare ("Apple"))
Caso 0:
cout << "It's a fruit." << endl;
quebrar;
caso 1:
cout << "It's a vegetable." << endl;
quebrar;
padrão:
cout << "Invalid input." << endl;

retornar 0;

No exemplo acima, usamos a função de comparação para comparar as strings "frutas" e "maçã."Se o resultado da comparação for zero, a mensagem" é uma fruta "é impressa. Ele imprime "isso é um vegetal" se o resultado da comparação for negativo. Caso contrário, exibe “entrada inválida.”

Saída

É importante observar que as strings devem ser fechadas em citações duplas ("") quando usadas como etiquetas de caso. Citações únicas (“) resultarão em um erro de compilação.

Programação Declaração de interruptor é uma ferramenta eficaz porque permite que decisões complicadas sejam tomadas com base em uma única variável de entrada. Quando você precisa estruturar seu código em torno de muitos resultados possíveis diferentes, é muito útil.

O Switch Declarents's Capacidade de utilizar strings como rótulos de casos é outro recurso fantástico. As versões posteriores do C ++, incluindo C ++ 11, incluem este recurso.

Conclusão

O Declaração de interruptor No C ++ é uma declaração de fluxo de controle que permite a tomada de decisão complicada com base em uma única variável de entrada. É uma excelente ferramenta para estruturar seu código e gerenciar muitos resultados em potencial. O Declaração de interruptor Ganhe versatilidade extra, apoiando o uso de strings como etiquetas de caso, tornando -a uma ferramenta mais útil para escritores C ++.