Como hago esto en VB

[Cerrado]
Denunciar
-
 Alex -
Pues veran, estoy aprendiendo a usar Visual Basic pero tengo una gran duda que no puedo resolver:
Utilice en el formulario
5 Etiquetas
2 Cuadros combobox
3 CheckBox

En el Combo de categorías van las
opciones SIMPLE (precio 50.00),
DOBLE (precio 75.00), SUITE
(precio 100.00).

En el combo cantidad de días van los
números de 1 a 10.

y con los 3 checkbox
Entretenimientos, precio 100.00
Traslados, precio: 50.00.
Espectáculos, precio: 200.00

En la etiqueta a la par de pago debe
aparecer el pago de lo elegido. El
pago depende del tipo de habitación
que eligió, la cantidad de días y lo elegido en cualquiera de los checkbox

Como podria programar esto? ayuda xfavor

1 respuesta

Gabo, tienes varias maneras de resolver esto, pero tomando como punto de partida lo que ya armaste en el formulario, podes agregar un botón que sea "Calcular" (nombre btnCalcular) por ej. entonces le das doble click para que te cree la función y en ellas puedes editar lo sig.

Private Sub btnCalcular_Click(sender As System.Object, e As System.EventArgs) Handles btnCalcular.Click

' Variable para guardar el valor de las categorias
Dim precioCategorias As Decimal = 0
Select Case CInt(Me.cbCategoria.SelectedValue)
Case 0 ' SIMPLE
precioCategorias = 50
Case 1 ' DOBLE
precioCategorias = 75
Case Else ' SUITE
precioCategorias = 100
End Select

' Variable para guardar los dias
Dim dias As Integer = 0
dias = CInt(Me.cbCantidadDias.SelectedValue) + 1

' Variable para guardar los adicionales
' que al ser checkBox puede tener varios seleccionados
Dim Adicionales As Decimal = 0
If Me.chbEntretenimiento.Checked Then
Adicionales = 100
End If

If Me.chbTraslado.Checked Then
Adicionales += 50
End If

If Me.chbEspect.Checked Then
Adicionales += 200
End If

'Finalmente el mostrar el resultado
Me.txtTotalPagar.Text = FormatCurrency(((precioCategorias * dias) + Adicionales), 2)

End Sub


Aclaraciones
1-No lo he probado asi que testealo y fijate con el depurador cualquier cosa.
2-Si es para probar código y testear es una aproximación del resultado por la forma que planteas el problema, ya que hay formas mejores de resolver y/o plantear la solución. Tene en cuenta que de esta forma te deja atado en el código volver a replantear los valores si es que hay algun cambio de precios y/o modalidad.

Birn, trate de darte una visión simple a tu pregunta para que puedas ver como trabaja el código.

Te recomiendo que si lo vas entendiendo busques un manera mas eficaz, que sin duda las hay de resolver y mediante pruebas y error también vas a ir aprendiendo.

Saludos.
Alex
Arg.