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 pocas palabras, no.
Saludos.
Cita de: avesudra en 30 Octubre 2014, 18:08 PM
En pocas palabras, no.
seguro??
switch(opcion){
case 'a':
case 'A':
printf("La suma de %g + %g = %g ",num1,num2,num1+num2);
break;
}
Cita de: eferion en 30 Octubre 2014, 18:12 PM
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.
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.
Gracias eferion eso era lo que buscaba.
Si todavía necesitas hacerlo de la forma " 'A' || 'a' " entonces puedes utilizar un else if para hacerlo.
Saludos.
Cita de: 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.
No has leído las respuestas anteriores, ¿verdad?
Cita de: eferion en 30 Octubre 2014, 18:12 PM
switch(opcion){
case 'a':
case 'A':
printf("La suma de %g + %g = %g ",num1,num2,num1+num2);
break;
}
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'.