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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  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 2,245 veces)
perujo

Desconectado Desconectado

Mensajes: 3


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

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: 19


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

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 pm »

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
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



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

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
programando c++ con switch y case
Programación C/C++
nandeider 6 18,391 Último mensaje 25 Mayo 2011, 19:34 pm
por Norochii
Case label '#' not within a switch statement
Programación C/C++
mistaiker 4 12,348 Último mensaje 27 Agosto 2011, 15:35 pm
por Queta
alguien que explique. (sobre switch case)
Programación General
josco 2 3,571 Último mensaje 14 Octubre 2011, 04:40 am
por raul338
switch y case en que parte de mi codigo
Java
jelsir 1 2,866 Último mensaje 20 Septiembre 2013, 14:04 pm
por Mitsu
problema switch case
Programación C/C++
daniloops 1 2,648 Último mensaje 30 Mayo 2014, 23:10 pm
por El Benjo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines