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

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  duda con el switch
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: duda con el switch  (Leído 1,716 veces)
Beginner Web


Desconectado Desconectado

Mensajes: 634


youtu.be/0YhflLRE-DA


Ver Perfil
duda con el switch
« en: 3 Julio 2019, 03:11 am »

hola amigos de foro "el hacker"

tenia una duda acerca de la condicion multiple switch, que pasa si recibo en un procedimiento un valor entero que sea solamente 0, 1 o 2 pero dentro del switch solo contemple el valor/case 1 y 2 , ¿ el valor/case 0 queda descartado? ¿Y es valido esto?

Código
  1. void casos(int n){//Por aca entró un 0, 1 o 2
  2. stwitch(n){
  3.  case 1: cout<<"Hola"<<endl;break;
  4.  case 2: cout<<"Adios"<<endl;break;
  5. }
  6. }
;-)


En línea

7w7
codX

Desconectado Desconectado

Mensajes: 65


Es más complejo de lo que crees...


Ver Perfil
Re: duda con el switch
« Respuesta #1 en: 3 Julio 2019, 03:27 am »

Hola begginer, por supuesto el valor 0 queda descartado y switch solamente testeará lo que aparezca en el bloque switch. Al menos así es en los lenguajes que conozco. No creo que sea distinto en c++


En línea

@XSStringManolo
Hacker/Programador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.399


Turn off the red ligth


Ver Perfil WWW
Re: duda con el switch
« Respuesta #2 en: 3 Julio 2019, 17:19 pm »

Si el 0 asi como el resto de case no incluidos no se hará nada.
Tienes case: default para manejarlos.

Cuando quieras definir una variable en un case necesitarás usar las llaves {}

A mi me gusta ordenalos así para buena lectura:

Código
  1. switch (static_cast<int>(variableChar))
  2. {
  3.      case: 'a':
  4.      {
  5.      int numero = 7;
  6.      char miLetra = 'a';
  7.      miString string1 ="h";
  8.      miString string2;
  9.      string2 += string1;
  10.      } break;
  11.  
  12.      case 'b':
  13.      {
  14.      \* Lo mismo
  15.      que arriba...*/
  16.      } break;
  17.  
  18.      case default:
  19.      {
  20.      std::cout<< "La letra no es \"a\"" << std::endl;
  21.      std::cout<< "La letra no es \"b\"" << std::endl;
  22.  
  23.            if (variableChar > ultimoChar || variableChar < primerChar)
  24.            {
  25.            std::cout << "El numero no corresponde a un caracter" << std::endl;
  26.            }
  27.  
  28.     } break;
  29. }

Switch solo acepta números int. Debes hacer casts en algunos casos. Lo bueno es que puedes recorrer strings vectores arrays etc con el operador de array tipo:
Código
  1. for (int i = 0; i <variableString.size(); ++i)
  2. {
  3.  
  4.      switch (variableString[i])
  5.     {
  6.            case 'a':
  7.           {
  8.            cout << "El string contiene la letra a en la posicion" << i << endl;
  9.            string retorno;
  10.            retorno += "a";
  11.           } break;
  12.  
  13.           .....
  14.     }
  15. Blabla += retrono;
  16. }
  17.  
  18. cout << retorno << " encontrados.";
  19.  
Uso mucho estes tipos de switchs para cifrados.

varChar = 'A';
........
........
........
........
case 0:
if (varString == static_cast<int>(varChar) )
{
ValorAscii = 65;
StringConTodoElBinario += "01000001";
« Última modificación: 3 Julio 2019, 17:25 pm por string Manolo » En línea

Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖

Beginner Web


Desconectado Desconectado

Mensajes: 634


youtu.be/0YhflLRE-DA


Ver Perfil
Re: duda con el switch
« Respuesta #3 en: 4 Julio 2019, 02:24 am »

qeuridismo string Manolo, quiere decir que si no coloco el default no pasa nada? mi idea era esa entonces lo he logrado  ;-)
En línea

7w7
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda sentencia switch
Programación C/C++
netca 3 2,817 Último mensaje 27 Julio 2012, 05:17 am
por avesudra
duda sobre la velocidad de switch
Redes
lui90 0 1,633 Último mensaje 20 Septiembre 2012, 21:47 pm
por lui90
duda con switch
Redes
General Dmitry Vergadoski 5 3,643 Último mensaje 25 Marzo 2013, 01:30 am
por Platanito Mx
Duda tonta switch
Programación C/C++
Choke1 8 3,336 Último mensaje 4 Noviembre 2014, 19:54 pm
por El Benjo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines