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:

  • selector es la variable o expresión que se evalúa.
  • valor1, valor2, etc. son los valores específicos que se comparan con el selector.
  • instrucciones_caso1, instrucciones_caso2, etc. son los bloques de código que se ejecutan si el selector coincide con el valor correspondiente.
  • instrucciones_por_defecto (opcional) es el bloque de código que se ejecuta si el selector no coincide con ninguno de los valores especificados.
  • La palabra reservada break es necesaria al final de cada caso para que el control de flujo salga del switch y 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-else anidadas 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 break es crucial para evitar la ejecución de casos posteriores.
  • Se puede usar una sentencia default para manejar valores no esperados.
  • switch-case es 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

Entradas más populares de este blog

Generación de números aleatorios

Paso de parámetros en funciones

STL de C++