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.
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.
Vale muchas gracias,
entonces para hacer todos los valores del 1 al 30 por ejemplo debería escribir los 30 uno a uno verdad?
Cita de: perujo 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?
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
if(dia >= 1 && dia <= 30)
eso ocupa los casos entre 1 y 30