elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Personaliza-Escoge el diseño del foro que más te guste.


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  Switch y case
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Switch y case  (Leído 259 veces)
perujo

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Switch y case
« en: 8 Agosto 2017, 12:28 »

Hola, tengo una duda al usar los case,al escribir esto:

switch (dia) {
   case 1: case 30:
.
.
.
}

Lo que hace es coger todos los numeros desde el 1 hasta el 30 o coge solo el caso 1 y 30?

Me podriais decir como se hace para que solo coja los casos que yo quiero? y también para que coja desde el caso 1 hasta el 30?

Gracias.


En línea

SubAtomicParticula

Desconectado Desconectado

Mensajes: 14


Ver Perfil
Re: Switch y case
« Respuesta #1 en: 8 Agosto 2017, 12:41 »

Saludos, la sentencia funciona por valores por separado pero podemos agrupar por valores al omitir break;

Caso básico sería:

switch(dia){
case 1:
Funcion1();
break;
case 2:
Funcion2();
break;
case 3:
Funcion3();
break;
------
case 30:
Funcionx();
break;
}

Caso de agrupar por valores sería:

switch(dia){
case 1:
case 2:
Funcion1y2();
break;
case 3:case 4:case 5:
Funcion345();
break;
------
case 30:
Funcionx();
break;
}

Para el caso de un rango seria incluir todos los valores:
switch(dia){
case 1:case 2:case 3:case 4:case 5: <----> case 15:
Funcion1_15();
break;
------
case 30:
Funcionx();
break;
}

También puedes hacer lo siguiente:

switch(dia){
case 30:
Funcion30();
break;
default:
Funcionx();
break;
}

Con esto conseguiríamos hacer un caso para el día 30 y el resto de los días se ejecutaría el caso por defecto (default:).

Espero haberte ayudado.


En línea

perujo

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Switch y case
« Respuesta #2 en: 8 Agosto 2017, 13:44 »

Vale muchas gracias,
entonces para hacer todos los valores del 1 al 30 por ejemplo debería escribir los 30 uno a uno verdad?
En línea

engel lex
CoAdmin
***
Desconectado Desconectado

Mensajes: 12.296



Ver Perfil
Re: Switch y case
« Respuesta #3 en: 8 Agosto 2017, 15:26 »

Vale muchas gracias,
entonces para hacer todos los valores del 1 al 30 por ejemplo debería escribir los 30 uno a uno verdad?

si, tendrías que hacerlos todos, pero sería mala practica, para eso hay herramientas... sería como tener un martillo y usar una piedra para martillar

es decir

Código
  1. if(dia >= 1 && dia <= 30)

eso ocupa los casos entre 1 y 30
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Sentencia Switch Case (C++)
Programación C/C++
Riki_89D 4 9,617 Último mensaje 5 Septiembre 2009, 14:47
por Anibal784
Menú Switch Case
Programación C/C++
Fomore 6 7,164 Último mensaje 6 Noviembre 2009, 04:45
por goditozor
programando c++ con switch y case
Programación C/C++
nandeider 6 13,257 Último mensaje 25 Mayo 2011, 19:34
por Norochii
switch y case en que parte de mi codigo
Java
jelsir 1 1,014 Último mensaje 20 Septiembre 2013, 14:04
por Mitsu
problema switch case
Programación C/C++
daniloops 1 559 Último mensaje 30 Mayo 2014, 23:10
por El Benjo
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines