Cómo usar la instrucción Switch para cadenas en C ++

Cómo usar la instrucción Switch para cadenas en C ++
Cª++, una declaración de cambio es una declaración de flujo de control que le permite elegir una de varias vías de ejecución en función del valor de una variable. Los programadores pueden crear sistemas de toma de decisiones complicados utilizando la instrucción Switch.

Una serie de etiquetas de casos se comparan con el valor de una variable o expresión de entrada utilizando el instrucción de cambio. La variable de entrada se prueba con las etiquetas del caso, que son valores, y si se encuentra una coincidencia, se ejecuta el código de la declaración del caso.

El instrucción de cambio En C ++ se usa con frecuencia cuando se trabaja con caracteres y números, pero también se puede usar con cadenas para evaluar muchas condiciones más rápidamente. En este artículo, demostraremos cómo usar cadenas con la C++ instrucción de cambio.

Declaración de cambio con cadenas

El estuche de interruptor Solo evalúa las expresiones enteras, por lo tanto, hay una captura al utilizar la clase de cadena. Las comparaciones de cadenas no se pueden hacer directamente en un instrucción de cambio. Para evaluar adecuadamente la cadena, Primero debemos transformarlo en un número numérico.

Por lo tanto, podemos utilizar la clase de cadena y sus métodos miembros para usar la instrucción Switch con cadenas. La clase de cadena tiene una serie de métodos que pueden usarse para administrar cadenas, incluidas las funciones compare (), find () y substr ().

Primero podemos declarar una variable de cadena y darle un valor inicial. El instrucción de cambio entonces se puede usar con la variable de cadena. Piense en el siguiente código, por ejemplo:

#incluir
usando el espacio de nombres STD;
int main ()

string fruit = "manzana";
Switch (Fruit)
Caso "Banana":
cout << "This is a banana." << endl;
romper;
Caso "naranja":
cout << "This is an orange." << endl;
romper;
Caso "Apple":
cout << "This is an apple." << endl;
romper;
por defecto:
cout << "This is not a valid fruit." << endl;
romper;

regresar 0;

En esta ilustración, el valor inicial de la variable de cadena "fruta" es "manzana". Se imprime una fruta después de que la instrucción Switch analiza la variable "Fruit". Imprime "Eso es un vegetal" si "zanahoria" es el valor de "fruta."Si no se cumplen ninguno de los criterios, se imprime" entrada no válida ".

Producción

El código anterior dará un error de que la cantidad de interruptor no es un entero. Para solucionar esta siguiente solución se puede usar.

Declaración de conmutación en la cadena usando la función compare ()

Afortunadamente, el "comparar()La función miembro de la clase de cadena produce un valor entero que representa el resultado de comparación de dos cadenas. La función de comparación da un resultado de 0 si las cadenas son iguales, un número que es negativo o positivo dependiendo de si la primera cadena es más o más pequeña que la segunda cadena.

Por lo tanto, podemos usar la función compare () para comparar cadenas en casos de interruptor. Aquí hay un ejemplo de usar la función de comparación:

#incluir
usando el espacio de nombres STD;
int main ()

string fruit = "manzana";
interruptor (fruta.comparar ("Apple"))
Caso 0:
cout << "It's a fruit." << endl;
romper;
caso 1:
cout << "It's a vegetable." << endl;
romper;
por defecto:
cout << "Invalid input." << endl;

regresar 0;

En el ejemplo anterior, utilizamos la función de comparación para comparar las cuerdas "fruta" y "manzana."Si el resultado de la comparación es cero, el mensaje" es una fruta "se imprime. Imprime "Eso es un vegetal" si el resultado de la comparación es negativo. Si no, muestra "entrada no válida."

Producción

Es importante tener en cuenta que las cadenas deben estar encerradas en citas dobles ("") cuando se usan como etiquetas de casos. Las citas individuales (") darán como resultado un error de compilación.

Programación instrucción de cambio es una herramienta efectiva porque permite tomar decisiones complicadas en función de una variable de entrada única. Cuando necesite estructurar su código en torno a muchos resultados posibles diferentes, es muy útil.

El Cambiar la declaración La capacidad de utilizar cadenas como etiquetas de casos es otra característica fantástica. Las versiones posteriores de C ++, incluida C ++ 11, incluyen esta capacidad.

Conclusión

El instrucción de cambio en C ++ hay una declaración de flujo de control que permite una toma de decisiones complicada basada en una variable de entrada única. Es una herramienta excelente para estructurar su código y administrar muchos resultados potenciales. El instrucción de cambio Obtiene versatilidad adicional al admitir el uso de cadenas como etiquetas de casos, por lo que es una herramienta más útil para los escritores de C ++.