Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Instrucción Switch | Introducción a las Sentencias Condicionales
Sentencias Condicionales en C++

bookInstrucción Switch

La sentencia switch es también una de las estructuras de control que simplifica la toma de decisiones en los programas. Proporciona una manera eficiente de evaluar una expresión y ejecutar diferentes bloques de código según el valor de esa expresión. Esto resulta especialmente útil al manejar un gran número de condiciones ramificadas.

Está diseñada principalmente para trabajar con valores numéricos, como enteros (int) y caracteres (char).

switch.h

switch.h

copy
12345678910111213141516
switch (expression) { case value1: // Code to execute when expression matches value1 break; case value2: // Code to execute when expression matches value2 break; // More cases can be added as needed // Code to execute when expression matches valueN default: // Code to execute when none of the case labels match the expression }
  • La expresión se evalúa una vez y el programa salta al case correspondiente según el valor de la expresión;

  • Cada case representa un valor específico o un conjunto de valores que la expresión podría coincidir;

  • La sentencia break se utiliza para salir del bloque switch después de que se haya ejecutado el código de un caso en particular;

  • El default es opcional y se utiliza cuando ninguno de los casos especificados coincide con la expresión. Actúa como una opción de captura general.

Suponga que es propietario de un restaurante y desea proporcionar un menú basado en códigos numéricos listados. Aquí está la representación en código de los elementos del menú.

main.cpp

main.cpp

copy
1234567891011121314151617181920212223242526
#include <iostream> int main() { // try to change the value int menu_number = 1; switch (menu_number) { case 1: std::cout << "Pizza" << std::endl; break; case 2: std::cout << "Burger with fries" << std::endl; break; case 3: std::cout << "Pasta with meatballs" << std::endl; break; default: std::cout << "We don`t have this in our menu" << std::endl; break; } }

Sí, esto se puede lograr con una simple sentencia if, y se vería de la siguiente manera:

main.cpp

main.cpp

copy
123456789101112131415161718192021222324
#include <iostream> int main() { // try to change the value int menu_number = 1; if (menu_number == 1) { std::cout << "Pizza" << std::endl; } else if (menu_number == 2) { std::cout << "Burger with fries" << std::endl; } else if (menu_number == 3) { std::cout << "Pasta with meatballs" << std::endl; } else { std::cout << "We don`t have this in our menu" << std::endl; } }

Funcionará de la misma manera y como se espera, pero generalmente es preferible utilizar una sentencia switch porque ofrece una forma más clara, más legible y, lo más importante, más fácil de mantener y escalable para gestionar este tipo de flujo de control.

Omitir la palabra clave break en una sentencia switch puede provocar un comportamiento inesperado del programa, ya que el código continuará ejecutándose en los casos siguientes. Sin embargo, omitir intencionadamente break puede utilizarse para gestionar varios casos dentro del mismo bloque de código. Este enfoque, conocido como fall-through, permite manejar casos relacionados juntos.

main.cpp

main.cpp

copy
12345678910111213141516171819202122
#include <iostream> int main() { // change the number and look how it affect the output int number = 3; switch (number) { case 1: std::cout << '1' << std::endl; case 2: std::cout << '2' << std::endl; case 3: std::cout << '3' << std::endl; case 4: std::cout << '4' << std::endl; case 5: std::cout << '5' << std::endl; break; } }
Tarea

Swipe to start coding

Estás desarrollando un sistema de planificador semanal que devuelve el nombre del día según su número (1 para lunes, 2 para martes, etc.).

  1. Dentro de la función getDayName, utiliza una instrucción switch sobre dayNumber:
    • Para cada caso del 1 al 7, asigna el nombre correspondiente del día ("Monday", "Tuesday", ..., "Sunday") a la variable dayName.
    • Usa la instrucción break después de cada caso para evitar la ejecución en cascada.
    • Utiliza un caso default para asignar "Invalid day" si la entrada no está entre 1 y 7.
  2. Devuelve el valor de dayName desde la función.

Ejemplo

getDayName(1)"Monday"
getDayName(5)"Friday"
getDayName(9)"Invalid day number"

Solución

solution.cpp

solution.cpp

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 6
single

single

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Suggested prompts:

Can you show me an example of a switch statement in code?

What happens if I forget to include a break statement in a switch case?

Can you explain more about the fall-through behavior in switch statements?

close

Awesome!

Completion rate improved to 7.69

bookInstrucción Switch

Desliza para mostrar el menú

La sentencia switch es también una de las estructuras de control que simplifica la toma de decisiones en los programas. Proporciona una manera eficiente de evaluar una expresión y ejecutar diferentes bloques de código según el valor de esa expresión. Esto resulta especialmente útil al manejar un gran número de condiciones ramificadas.

Está diseñada principalmente para trabajar con valores numéricos, como enteros (int) y caracteres (char).

switch.h

switch.h

copy
12345678910111213141516
switch (expression) { case value1: // Code to execute when expression matches value1 break; case value2: // Code to execute when expression matches value2 break; // More cases can be added as needed // Code to execute when expression matches valueN default: // Code to execute when none of the case labels match the expression }
  • La expresión se evalúa una vez y el programa salta al case correspondiente según el valor de la expresión;

  • Cada case representa un valor específico o un conjunto de valores que la expresión podría coincidir;

  • La sentencia break se utiliza para salir del bloque switch después de que se haya ejecutado el código de un caso en particular;

  • El default es opcional y se utiliza cuando ninguno de los casos especificados coincide con la expresión. Actúa como una opción de captura general.

Suponga que es propietario de un restaurante y desea proporcionar un menú basado en códigos numéricos listados. Aquí está la representación en código de los elementos del menú.

main.cpp

main.cpp

copy
1234567891011121314151617181920212223242526
#include <iostream> int main() { // try to change the value int menu_number = 1; switch (menu_number) { case 1: std::cout << "Pizza" << std::endl; break; case 2: std::cout << "Burger with fries" << std::endl; break; case 3: std::cout << "Pasta with meatballs" << std::endl; break; default: std::cout << "We don`t have this in our menu" << std::endl; break; } }

Sí, esto se puede lograr con una simple sentencia if, y se vería de la siguiente manera:

main.cpp

main.cpp

copy
123456789101112131415161718192021222324
#include <iostream> int main() { // try to change the value int menu_number = 1; if (menu_number == 1) { std::cout << "Pizza" << std::endl; } else if (menu_number == 2) { std::cout << "Burger with fries" << std::endl; } else if (menu_number == 3) { std::cout << "Pasta with meatballs" << std::endl; } else { std::cout << "We don`t have this in our menu" << std::endl; } }

Funcionará de la misma manera y como se espera, pero generalmente es preferible utilizar una sentencia switch porque ofrece una forma más clara, más legible y, lo más importante, más fácil de mantener y escalable para gestionar este tipo de flujo de control.

Omitir la palabra clave break en una sentencia switch puede provocar un comportamiento inesperado del programa, ya que el código continuará ejecutándose en los casos siguientes. Sin embargo, omitir intencionadamente break puede utilizarse para gestionar varios casos dentro del mismo bloque de código. Este enfoque, conocido como fall-through, permite manejar casos relacionados juntos.

main.cpp

main.cpp

copy
12345678910111213141516171819202122
#include <iostream> int main() { // change the number and look how it affect the output int number = 3; switch (number) { case 1: std::cout << '1' << std::endl; case 2: std::cout << '2' << std::endl; case 3: std::cout << '3' << std::endl; case 4: std::cout << '4' << std::endl; case 5: std::cout << '5' << std::endl; break; } }
Tarea

Swipe to start coding

Estás desarrollando un sistema de planificador semanal que devuelve el nombre del día según su número (1 para lunes, 2 para martes, etc.).

  1. Dentro de la función getDayName, utiliza una instrucción switch sobre dayNumber:
    • Para cada caso del 1 al 7, asigna el nombre correspondiente del día ("Monday", "Tuesday", ..., "Sunday") a la variable dayName.
    • Usa la instrucción break después de cada caso para evitar la ejecución en cascada.
    • Utiliza un caso default para asignar "Invalid day" si la entrada no está entre 1 y 7.
  2. Devuelve el valor de dayName desde la función.

Ejemplo

getDayName(1)"Monday"
getDayName(5)"Friday"
getDayName(9)"Invalid day number"

Solución

solution.cpp

solution.cpp

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 6
single

single

some-alt