Está en la página 1de 3

Selección Múltiple combinada con selección exclusiva

Resolviendo el ejercicio anterior, pero suponga que el usuario puede


seleccionar entre café grande y pequeño. ¿Será necesario aplicar los dos tipos
de control vistos en las semanas 8 y 9?

Ejemplo

Calcule el precio a pagar por cada cliente del cafetín “Infor_Docum”. Se sabe
que el mismo ofrece a sus clientes empanadas, jugo y café, cada uno de ellos
con un precio distinto. Supongamos que el usuario puede seleccionar varias
empanadas y también el tamaño del café.

Fíjese que se le agrega al código…

Public Class Form1


'defino precios, existen varias formas, pero
esta es una de ellas
Const prec_cafe_G = 5
Const prec_cafe_P = 3
Const prec_jugo = 4
Const prec_empanada = 3
' const significa que son constantes y no
debo declararlas
' también se podría hacer así:
' dim prec_cafe as double = 5
' dim prec_jugo as double = 4
' dim prec_empanada as double = 3
'las coloqué de tipo double porque pueden
existir precios con decimales
Dim cantidad As Byte

Private Sub Button1_Click(ByVal sender As


System.Object, ByVal e As System.EventArgs)
Handles Button1.Click
Dim pago As Double
pago = 0 ' por cada cliente la cuenta
arranca en cero
'este pago = 0 también se puede hacer en
el botón siguiente

If RadioButton1.Checked = True Then


pago = pago + prec_cafe_G
' sumo el precio del café grande
Else
If RadioButton2.Checked = True Then
pago = pago + prec_cafe_P
' sumo el precio del café pequeño

End If
End If
If CheckBox2.Checked = True Then
pago = pago + prec_jugo
End If
If CheckBox3.Checked = True Then
pago = pago + prec_empanada * cantidad
End If
' en cada check pago funciona como un
acumulador
'porque en la medida que el usuario
seleccione productos
'debe irse sumando los precios de los
arcticulos anteriores con los nuevos
' por supuesto, empezando desde CERO
Label2.Text = TextBox1.Text & " debe pagar
" & pago & " Bolívares Fuertes"
End Sub

Private Sub Form1_Load(ByVal sender As


System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
GroupBox2.Visible = False
End Sub

Private Sub CheckBox1_CheckedChanged(ByVal


sender As System.Object, ByVal e As
System.EventArgs) Handles CheckBox1.CheckedChanged
If CheckBox1.Checked = True Then
GroupBox2.Visible = True
Else
' si se arrepiente del café, vuelvo a
ocultar el groupbox 2
GroupBox2.Visible = False
End If
End Sub
Private Sub CheckBox3_CheckedChanged(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles CheckBox3.CheckedChanged
cantidad = InputBox(" cuántas desea?")
End Sub
End Class

También podría gustarte