Título: Duda tonta switch Publicado por: Choke1 en 30 Octubre 2014, 17:56 pm En un switch hay alguna forma de poder hacer esto:
switch(opcion){ case ('a' || 'A') : printf("La suma de %g + %g = %g ",num1,num2,num1+num2); break; } gracias Título: Re: Duda tonta switch Publicado por: avesudra en 30 Octubre 2014, 18:08 pm En pocas palabras, no.
Saludos. Título: Re: Duda tonta switch Publicado por: eferion en 30 Octubre 2014, 18:12 pm En pocas palabras, no. seguro?? Código
Título: Re: Duda tonta switch Publicado por: avesudra en 30 Octubre 2014, 18:20 pm seguro?? Es cierto que en el caso del operador de disyunción puedes hacer ese amaño para solucionarlo. Aun así con el operador lógico conjuntivo no te funciona y habría que usar otras maneras. Lo que debe quedar bien claro aquí es que detras del case no puede haber ninguna expresión que contega variables a ser evaluadas lógicamente, solo un valor constante.Código
Muy inteligente eferion ;-) Un cordial saludo. Título: Re: Duda tonta switch Publicado por: eferion en 30 Octubre 2014, 23:40 pm Perdón si la respuesta daba a entender que me pasaba de listo... tenía poco tiempo y fue una respuesta rápida.
Ahora matizo. A mí la pregunta me ha dado a entender que el lo que pretendía era ejecutar el mismo código en el switch para dos condiciones diferentes... el, claro está, lo intentaba usando el operador ||, cuando realmente en un switch lo más acertado es poner varios case seguidos sin un break de por medio. Obviamente un switch es bastante restrictivo. Sus case no admiten el uso de operadores ni de tipos que no sean los básicos. Un saludo. Título: Re: Duda tonta switch Publicado por: Choke1 en 3 Noviembre 2014, 16:20 pm Gracias eferion eso era lo que buscaba.
Título: Re: Duda tonta switch Publicado por: El Benjo en 3 Noviembre 2014, 19:51 pm Si todavía necesitas hacerlo de la forma " 'A' || 'a' " entonces puedes utilizar un else if para hacerlo.
Saludos. Título: Re: Duda tonta switch Publicado por: eferion en 4 Noviembre 2014, 08:37 am Si todavía necesitas hacerlo de la forma " 'A' || 'a' " entonces puedes utilizar un else if para hacerlo. No has leído las respuestas anteriores, ¿verdad? Código
Título: Re: Duda tonta switch Publicado por: El Benjo en 4 Noviembre 2014, 19:54 pm Perdón, no me expliqué bien. Lo que quise decir fue que si todavía necesitaba que se evaluara una expresión en vez de utilizar una constante entonces debía utilizar un 'else if'.
|