[DUDA] Select Case

Iniciado por Zodiak98, 21 Mayo 2013, 03:06 AM

0 Miembros y 1 Visitante están viendo este tema.

Zodiak98

Tengo una duda de una expresión en el Select Case, mi duda es la siguiente
si existe una variable cuyo valor es 5 llamado edadInt

y existe una expresión del select case de la siguiente forma:
Case (edadInt > 2 And edadInt < 6)

Porqué la ignora? Es decir con el operador And lo que hace es que si se cumple las 2 expressiones ejecutara el código que tiene dentro de su expresión.

Es decir edadInt es mayor que 2? eso es correcto aah pero tambien es mejor que 6? Sí

Entonces? Porque ignora esta expresión?

Aca el código

Código (vb) [Seleccionar]

'Asigno edad
       edadInt= 5

       'Uso de la Sentecia Select
       Select Case edadInt
           Case Is < 2
               strEtapa = "Guarderia y/o Maternal"
         
Case (edadInt> 2 And edadInt< 6) 'Porqué aca no entra? Si intEdad = 5?
               strEtapa = "Edad para Kinder"
           
Case 6
               strEtapa = "Edad para Primaria"
           Case Is < 12
               strEtapa = "Debes tener entre 6 y 11 años"
           Case 13, 14, 15
               strEdad = "Debe ir a la seundaria"
           Case Else
               strEdad = "Debes estar en otra etapa de estudio"
       End Select

XresH

Estás declarando mal:

Case (edadInt> 2 And edadInt< 6)

Cambialo

Case Is > 2 And edadInt < 6


Ya estas asignando el caso, no debes colocarlo de nuevo en la primer comparacion.


Saludos.



[ - Si eres programador y quieres que tus proyectos esten en mi blog(con o sin source), consúltame! - ]
Entra A Mi Blog De Programación | | Dudas en este post :| | >>Clic para ir al Post<<

79137913

HOLA!!!

La forma en la que lo estan planteando es incorrecta, se pierden muchos recursos sin sentido...

La forma correcta es

Código (vb) [Seleccionar]
        Select Case edadInt
           Case Is < 2
               strEtapa = "Guarderia y/o Maternal"

           Case 3 To 5 'Porqué aca no entra? Si intEdad = 5?
               strEtapa = "Edad para Kinder"

           Case 6
               strEtapa = "Edad para Primaria"
           Case Is < 12
               strEtapa = "Debes tener entre 6 y 11 años"
           Case 13 To 15
               strEdad = "Debe ir a la seundaria"
           Case Else
               strEdad = "Debes estar en otra etapa de estudio"
       End Select


PERO...

Tu algoritmo de seleccion es muy errado tambien...

si la persona tiene menos de 0 años tambien dira " guarderia"
Si la persona tiene 2 años dira "Debes estar en otra etapa de estudio"
Si la persona tiene 12 años dira "Debes estar en otra etapa de estudio"
Fijate que un < o > no son iguales a <= o >=.

GRACIAS POR LEER!!!
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

79137913                          *Shadow Scouts Team*