Autor
|
Tema: Duda tonta switch (Leído 3,389 veces)
|
Choke1
Desconectado
Mensajes: 38
|
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
|
|
|
En línea
|
|
|
|
avesudra
Desconectado
Mensajes: 724
Intentando ser mejor cada día :)
|
En pocas palabras, no.
Saludos.
|
|
« Última modificación: 30 Octubre 2014, 18:10 pm por avesudra »
|
En línea
|
Regístrate en
|
|
|
eferion
Desconectado
Mensajes: 1.248
|
En pocas palabras, no.
seguro?? switch(opcion){ case 'a': case 'A': printf("La suma de %g + %g = %g ",num1,num2,num1+num2); break; }
|
|
|
En línea
|
|
|
|
avesudra
Desconectado
Mensajes: 724
Intentando ser mejor cada día :)
|
seguro?? switch(opcion){ case 'a': case 'A': printf("La suma de %g + %g = %g ",num1,num2,num1+num2); break; }
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. Muy inteligente eferion Un cordial saludo.
|
|
« Última modificación: 30 Octubre 2014, 18:37 pm por avesudra »
|
En línea
|
Regístrate en
|
|
|
eferion
Desconectado
Mensajes: 1.248
|
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.
|
|
|
En línea
|
|
|
|
Choke1
Desconectado
Mensajes: 38
|
Gracias eferion eso era lo que buscaba.
|
|
|
En línea
|
|
|
|
El Benjo
|
Si todavía necesitas hacerlo de la forma " 'A' || 'a' " entonces puedes utilizar un else if para hacerlo.
Saludos.
|
|
|
En línea
|
www.es.neftis-ai.comSí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.
|
|
|
eferion
Desconectado
Mensajes: 1.248
|
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? switch(opcion){ case 'a': case 'A': printf("La suma de %g + %g = %g ",num1,num2,num1+num2); break; }
|
|
|
En línea
|
|
|
|
El Benjo
|
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'.
|
|
|
En línea
|
www.es.neftis-ai.comSí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Duda tonta en VB
Programación Visual Basic
|
Athagan
|
7
|
2,381
|
31 Diciembre 2005, 23:55 pm
por Athagan
|
|
|
duda tonta...
Programación Visual Basic
|
hAcKeR92
|
3
|
2,037
|
14 Marzo 2008, 01:01 am
por ((( SPAWN )))
|
|
|
Duda de switch y problema al ejecutar
Programación C/C++
|
Mario Olivera
|
3
|
1,954
|
20 Mayo 2015, 20:51 pm
por ivancea96
|
|
|
duda con el switch
Programación C/C++
|
Beginner Web
|
3
|
1,752
|
4 Julio 2019, 02:24 am
por Beginner Web
|
|
|
Duda tonta con ejercicio en PHP
PHP
|
jamatbar
|
5
|
3,397
|
14 Octubre 2020, 17:16 pm
por jamatbar
|
|