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

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  alguien que explique. (sobre switch case)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: alguien que explique. (sobre switch case)  (Leído 3,544 veces)
josco

Desconectado Desconectado

Mensajes: 199



Ver Perfil
alguien que explique. (sobre switch case)
« en: 14 Octubre 2011, 03:17 am »

mi duda es: no puedo comprender porque el switch case necesita un breake para parar ej.

Código:
int caso=1;
switch(caso)
{
 case 1:
       imrime("caso 1")
 case 2:
       imrime("caso 2")
 case 3:
       imrime("caso 3")
}

este codigo imprime los tres casos, pero no comprendo porque si se supone que solo quiero que entre el caso 1 ya que caso vale 1, mi pregunta es porque se tiene que pasar a todos los casos?

lo pregunto porque en ocasiones quiero pasar de un case a un determinado case por ejemplo asi:

Código:
int caso=1;
int variable;
switch(caso)
{
 case 1:
       if(variable == 1)
        caso = 2;
       if(variable == 2){
         caso = 3;
       }
 case 2:
       imrime("caso 2");
 case 3:
       imrime("caso 3")
}
el codigo anterior impireme caso 2 y caso 3

si le puiera break:

Código:
int caso=1;
int variable = 1 o 2; //esta variable la puede cambiar el usuario o el mismo programa en un proceso y deve ser 1 o 2
switch(caso)
{
 case 1:
       if(variable == 1){
        caso = 2;
        break;
       }
       if(variable == 2){
         caso = 3;
        break;
       }
 case 2:
       imrime("caso 2");
 case 3:
       imrime("caso 3")
}

el codigo anterior no haria nada ponindo la variable en 1 o en 2.

 :huh: :huh: :huh: :huh: :huh: :huh:


En línea

$Edu$


Desconectado Desconectado

Mensajes: 1.842



Ver Perfil
Re: alguien que explique. (sobre switch case)
« Respuesta #1 en: 14 Octubre 2011, 03:32 am »

Estas entreverando todo lo que pasa, si dentro de un case vas a verificar que valor tiene una variable entonces simplemente verifica el valor de la variable y listo.

Y el switch creo que funciona tomando el valor de origen, es decir no podes cambiarlo luego como haces vs, pero creo que podias "goto case 2:" o simplemente llamarlo con "case 2" prueba


En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: alguien que explique. (sobre switch case)
« Respuesta #2 en: 14 Octubre 2011, 04:40 am »

por estas razones

Código:
// preguntas algo con 3 opciones de respuesta
switch(respuesta) {
    case A:
    case B:
          imprime("Mal");
          break;
    case C:
          imprime("Bien");
          break;
}

Son sutilezas del lenguaje, en Visual Basic (y creo que en Python) no pasa eso  ;D
En línea

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,347 Último mensaje 25 Mayo 2011, 19:34 pm
por Norochii
Case label '#' not within a switch statement
Programación C/C++
mistaiker 4 12,298 Último mensaje 27 Agosto 2011, 15:35 pm
por Queta
switch y case en que parte de mi codigo
Java
jelsir 1 2,852 Último mensaje 20 Septiembre 2013, 14:04 pm
por Mitsu
Necesito que alguien me explique sobre los array y for
Programación C/C++
Ditarex 1 1,557 Último mensaje 15 Mayo 2014, 20:11 pm
por Eternal Idol
problema switch case
Programación C/C++
daniloops 1 2,613 Ú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