RE:problemas con ''case''
Publicado por
eZ (1 intervención) el 18/01/2010 17:25:01
Las estructuras case soportan varios tipos de datos, tales como:
Booleanos (verdadero / falso)
cadena de caracteres
Enteros
Enum , etc
En el caso de los booleanos, la estructura case tendra solo dos opciones: Caso verdadero y caso falso... aqui no hay que definir caso por defecto...
Por mencionar un ejemplo:
Una aplicacion que muestra un mensaje tipo "pop up" al usuario solo cuando el caso es verdadero....
El codigo entonces contendra los nodos que ejecutan el mensaje en el caso verdadero... el caso falso puedes dejarlo vacio... de ese modo obtendras el comportamiento descrito en el ejemplo
Ahora en el caso de utilizar las estructuras caso seleccionandolos con otros tipos de datos, tales como numericos, cadena de caracteres, enum, etc... es necesario definir un caso por defecto
porque?
En el caso de los booleanos, solo existen dos valores disponibles : Falso / Verdadero... (si no es Juana, es Chana) no existe otro... por eso en booleanos no es necesario definir un caso por defecto
En el caso de los otros... es distinto
Ejemplo: Si conectas tu estructura caso a un numerico... entonces tendras casos como 0,1,2,3,4,...n segun el valor de entrada, sera el caso que se ejecute
Supongamos que tu defines solo 4 casos: 0,1,2,3 y realiza distintas operaciones segun el caso... que pasara si a tu entrada la alimentas con un valor distinto a los que definiste (supongamos un valor de 5)?
Es por eso necesario (de hecho LabVIEW te lo pone por default y si lo remueves te marca error de sintaxis... o mejor dicho "flecha rota") el uso de un valor por defecto
para que todos los valores fuera de ese se ejecuten en dicho caso.
Algo parecido sucede con los strings... pero todavia con mayor complejidad pues es sensible a mayusculas/minusculas, espacios, etc...
espero que esta informacion ayude
Saludos