Título: estructuras selectivas
Publicado por: leliCabello en 27 Marzo 2010, 19:26 pm
qtal amigos ps quiero que me yuden con esto, es que no se como usar en este ejemplo el select case, ya que me dan una tabla indicando los años,meses y tambien hombre mujeres, para esto lo estaba poniendo como genero, para que ingresen como femenino y masculino, abajo esta el enunciado para q me entiendadn mejor Imports System.Console Module Module6 Sub main() Title = "Nivel de Hemoglobina" ForegroundColor = ConsoleColor.Cyan
'variables Dim edad#, genero$, nivelhemoglobina# Dim mes$ 'entradas Write("Ingresar su edad: ") : edad = ReadLine() Write("Ingresar su género: ") : genero = ReadLine() Write("Ingresar su nivel de Hemoglobina: ") : nivelhemoglobina = ReadLine()
'proceso
Select Case edad Case 0 To 1 : nivelhemoglobina = 13 Case > 1 and <=6 :nivelhemoglobina=10 Case > 6 and < = 12 años : nivelhemoglobina=11 Case > 1 and < = 5 años : nivelhemoglobina=11.5 Case > 5 and < = 10 años : nivelhemoglobina=12.6 Case > 10 and < = 15 años : nivelhemoglobina=13 Case mujeres > 15 años : nivelhemoglobina=12 Case hombres > 15 años : nivelhemoglobina=14
'Tomando como base los resultados obtenidos en un laboratorio de 'análisis clínicos, un medico determina si una persona tiene anemia 'o no, lo cual depende de su nivel de hemoglobina en la sangre, de su edad ' y de su sexo. Si el nivel de hemoglobina que tiene una persona es menor que ' el rango que le corresponde, se determina su resultado como positivo y en caso 'contrario como negativo. La tabla en la que el medico se basa para obtener el resultado es 'la(siguiente):
'0 - 1 mes 13 - 26 g% '> 1 y < = 6 meses 10 - 18 g% '> 6 y < = 12 meses 11 - 15 g% '> 1 y < = 5 años 11.5 - 15 g% '> 5 y < = 10 años 12.6 - 15.5 g% '> 10 y < = 15 años 13 - 15.5 g% 'mujeres > 15 años 12 - 16 g% 'hombres > 15 años 14 - 18 g%
End Select
'salida
End Sub
End Module
Título: Re: estructuras selectivas
Publicado por: raul338 en 27 Marzo 2010, 19:49 pm
Tu problema no es con el select case, si estas iniciando lo aprendiste bien. Tu problema es con las variables Un valor esta en lo correcto si se encuentra en medio de DOS variables, un minimo y un maximo
Si vos comparas el porcentaje de sangre con algo, no obtenes nada, en cambio si lo comparas con un maximo y un minimo obtienes si es anemico, normal, o tiene demasiada sangre (?) :huh:
lo que tienes que hacer es declarar dos variables minimo y maximo
en el select case las asignas segun la edad
luego con un if averiguas su estado (si es mayor que el minimo y menor que el maximo)
Y listo :)
Título: Re: estructuras selectivas
Publicado por: seba123neo en 27 Marzo 2010, 20:39 pm
el ultimo IF es en broma..no lo probe pero algo asi es...para que te des una idea nomas, se puede mejorar... Imports System.Console Module Module1 Sub Main() Title = "Nivel de Hemoglobina" ForegroundColor = ConsoleColor.Cyan Dim vEdad, vNivelHemoglobina As Double Dim vGenero As String Dim vRango(1) As Double WriteLine("Ingresar su edad: ") vEdad = ReadLine() WriteLine("Ingresar su género (H/M): ") vGenero = ReadLine() WriteLine("Ingresar su nivel de Hemoglobina: ") vNivelHemoglobina = ReadLine() Select Case vEdad Case 0 To 0.1 vRango(0) = 13 vRango(1) = 26 Case Is > 0.1, Is <= 0.6 vRango(0) = 10 vRango(1) = 18 Case Is > 0.6, Is <= 1 vRango(0) = 11 vRango(1) = 15 Case Is > 1, Is <= 5 vRango(0) = 11.5 vRango(1) = 15 Case Is > 5, Is <= 10 vRango(0) = 12.6 vRango(1) = 15.5 Case Is > 10, Is <= 15 vRango(0) = 13 vRango(1) = 15.5 Case Is > 15 If vGenero.ToUpper = "H" Then vRango(0) = 12 vRango(1) = 16 Else vRango(0) = 14 vRango(1) = 18 End If End Select WriteLine("") If vNivelHemoglobina >= vRango(0) And vNivelHemoglobina <= vRango(1) Then WriteLine("Esta en los valores normales...") ElseIf vNivelHemoglobina < vRango(0) Then WriteLine("Esta debajo de los valores 'ANEMIA'") ElseIf vNivelHemoglobina > vRango(1) Then WriteLine("Esta por arriba de los valores 'POLICITEMIA'") Else WriteLine("No tenes sangre XD...") End If ReadLine() End Sub End Module
saludos.
Título: Re: estructuras selectivas
Publicado por: leliCabello en 29 Marzo 2010, 20:26 pm
gracias eh saludos ;)
|