Sentencia switch

Con esta sentencia podemos ejecutar una de varias acciones, en función del valor de una expresión. Se trata de una sentencia especial para decisiones múltiples. La sintaxis es:

switch_sintaxis

Donde:

switch_1

switch_2

switch_3

switch_4

Por cada sentencia case generalmente se utiliza break para transferir el control fuera del bloque de la sentencia switch. La sentencia switch puede incluir cualquier número de cláusulas case y una cláusula default.

switch_7

Si no existe una constante igual al valor de la expresion, entonces se ejecutan las sentencias que están a continuación de default, si esta cláusula ha sido especificada. La clausula default puede colocarse en cualquier parte del bloque y no necesariamente al final.

Ilustremos la sentencia switch, vamos a realizar un programa que lea una fecha representada por dos enteros, mes y año, y nos de como resultado los días que tiene dicho mes. Comenzamos:

  1. Primero vamos a definir las variables a utilizar para los cálculos.diames_listado_1
  2. Ahora vamos a leer los datos de entrada desde el teclado, mes (mm) y año(aa)diames_listado_2
  3. Después comparamos el mes con las constantes 1, 2, … ,12. Si el mes es 1, 3, 5, 7, 8, 10, 12, asignamos a días el valor de 31. Si mes es 4, 6, 9 u 11, asignamos a días el valor de 30. Si mes es 2, verificaremos si el año es bisiesto, en cuyo caso asignamos a dias el valor de 29 y si no es bisiesto, asignamos a días el valor de 28. Si mes no es ningún valor de los anteriores, enviaremos un mensaje al usuario indicándole que el mes no es válido.diames_5
  4. Por último si el mes es válido, escribimos el resultado solicitado.diames_8

Mostramos el programa completo:

diames_listado_completo

después de compilarlo y ejecutarlo la salida sería:

salida_diames

Como prueba ¿Eres capaz de que el programa muestre en vez del número del mes, el nombre del mes?

atras2

Anuncios

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

w

Conectando a %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.