Selectiva múltiple (switch-case)
Selectiva múltiple (switch-case) en C++
La estructura de control de flujo switch-case permite evaluar una variable o expresión ("selector") y ejecutar un bloque de código correspondiente a un valor específico ("caso"). Se compone de la siguiente forma:
C++
switch (selector) {
case valor1:
instrucciones_caso1;
break;
case valor2:
instrucciones_caso2;
break;
...
default:
instrucciones_por_defecto;
}
Donde:
selectores la variable o expresión que se evalúa.valor1,valor2, etc. son los valores específicos que se comparan con elselector.instrucciones_caso1,instrucciones_caso2, etc. son los bloques de código que se ejecutan si elselectorcoincide con el valor correspondiente.instrucciones_por_defecto(opcional) es el bloque de código que se ejecuta si elselectorno coincide con ninguno de los valores especificados.- La palabra reservada
breakes necesaria al final de cada caso para que el control de flujo salga delswitchy no se ejecuten los casos posteriores.
Ejemplo:
C++
char dia_semana = 'M';
switch (dia_semana) {
case 'L':
std::cout << "Es lunes" << std::endl;
break;
case 'M':
std::cout << "Es martes" << std::endl;
break;
case 'M':
std::cout << "Es miércoles" << std::endl;
break;
case 'J':
std::cout << "Es jueves" << std::endl;
break;
case 'V':
std::cout << "Es viernes" << std::endl;
break;
case 'S':
std::cout << "Es sábado" << std::endl;
break;
case 'D':
std::cout << "Es domingo" << std::endl;
break;
default:
std::cout << "Día de la semana no válido" << std::endl;
}
En este ejemplo, se evalúa la variable dia_semana para imprimir el día correspondiente. Si el valor es 'L', se imprime "Es lunes". Si el valor es 'M', se imprime "Es martes", y así sucesivamente. Si el valor no coincide con ninguno de los casos, se imprime "Día de la semana no válido".
Ventajas de usar switch-case:
- Es más claro y organizado que una serie de sentencias
if-elseanidadas para múltiples casos. - Es más eficiente para evaluar múltiples valores, especialmente cuando hay muchos casos.
- Facilita la lectura y comprensión del código.
Casos de uso de switch-case:
- Menús interactivos
- Clasificación de datos
- Manejo de errores
- Control de flujo complejo
Recuerda:
- La sentencia
breakes crucial para evitar la ejecución de casos posteriores. - Se puede usar una sentencia
defaultpara manejar valores no esperados. switch-casees más adecuado para evaluar un número finito de valores.- Para evaluar rangos o valores continuos, se pueden usar estructuras como
if-else.
Comentarios
Publicar un comentario