' gambas class file ' by postapase Public Sub btnDesglosar_Click() Dim Euros As Long Dim Resto As Long Dim Billete500, Billete200, Billete100, Billete50, Billete20, Billete10, Billete5, Moneda2, Moneda1 As Long Euros = Val(txtEuros.Text) TextArea1.Clear Repeat If Euros >= 500 Then Resto = Euros - 500 Euros = Resto Inc Billete500 If Euros < 500 Then If Billete500 > 1 Then TextArea1.Text &= Billete500 & " Billetes de 500 euros" & gb.NewLine Else TextArea1.Text &= Billete500 & " Billete de 500 euros" & gb.NewLine Endif Endif If Resto > 500 Then Continue Endif If Euros >= 200 Then Resto = Euros - 200 Euros = Resto Inc Billete200 If Euros < 200 Then If Billete200 > 1 Then TextArea1.Text &= Billete200 & " Billetes de 200 euros" & gb.NewLine Else TextArea1.Text &= Billete200 & " Billete de 200 euros" & gb.NewLine Endif Endif If Resto > 200 Then Continue Endif If Euros >= 100 Then Resto = Euros - 100 Euros = Resto Inc Billete100 If Euros < 500 Then If Billete100 > 1 Then TextArea1.Text &= Billete100 & " Billetes de 100 euros" & gb.NewLine Else TextArea1.Text &= Billete100 & " Billete de 100 euros" & gb.NewLine Endif Endif If Resto > 100 Then Continue Endif If Euros >= 50 Then Resto = Euros - 50 Euros = Resto Inc Billete50 If Euros < 50 Then If Billete50 > 1 Then TextArea1.Text &= Billete50 & " Billetes de 50 euros" & gb.NewLine Else TextArea1.Text &= Billete50 & " Billete de 50 euros" & gb.NewLine Endif Endif If Resto > 50 Then Continue Endif If Euros >= 20 Then Resto = Euros - 20 Euros = Resto Inc Billete20 If Euros < 20 Then If Billete20 > 1 Then TextArea1.Text &= Billete20 & " Billetes de 20 euros" & gb.NewLine Else TextArea1.Text &= Billete20 & " Billete de 20 euros" & gb.NewLine Endif Endif If Resto > 20 Then Continue Endif If Euros >= 10 Then Resto = Euros - 10 Euros = Resto Inc Billete10 If Euros < 10 Then If Billete10 > 1 Then TextArea1.Text &= Billete10 & " Billetes de 10 euros" & gb.NewLine Else TextArea1.Text &= Billete10 & " Billete de 10 euros" & gb.NewLine Endif Endif If Resto > 10 Then Continue Endif If Euros >= 5 Then Resto = Euros - 5 Euros = Resto Inc Billete5 If Euros < 5 Then If Billete20 > 1 Then TextArea1.Text &= Billete5 & " Billetes de 5 euros" & gb.NewLine Else TextArea1.Text &= Billete5 & " Billete de 5 euros" & gb.NewLine Endif Endif If Resto > 5 Then Continue Endif If Euros >= 2 Then Resto = Euros - 2 Euros = Resto Inc Moneda2 If Euros < 2 Then If Moneda2 > 1 Then TextArea1.Text &= Moneda2 & " Monedas de 2 euros" & gb.NewLine Else TextArea1.Text &= Moneda2 & " Moneda de 2 euros" & gb.NewLine Endif Endif If Resto >= 2 Then Continue Endif If Euros >= 1 Then Resto = Euros - 1 Euros = Resto Inc Moneda1 If Euros < 1 Then If Moneda1 > 1 Then TextArea1.Text &= Moneda1 & " Monedas de 1 euros" & gb.NewLine Else TextArea1.Text &= Moneda1 & " Moneda de 1 euros" & gb.NewLine Endif Endif If Resto > 1 Then Continue Endif Until Resto = 0 End |
Allanando el camino a los iniciados en Gambas, porque programar en Gambas es un placer!!
sábado, 18 de octubre de 2014
Solución a Reto Solveet (Desglose en billetes)
Usando un bucle mediante Repeat/Until y Continue. Si la cantidad data es igual o mayor que 500 le restamos 500 si el resto es mayor o igual a 500 repetimos la operación sino continuamos con el billete menor de 200 así sucesivamente con las demás cantidades, cuando el resto sea 0 detenemos el bucle .
Suscribirse a:
Comentarios de la entrada (Atom)
No hay comentarios.:
Publicar un comentario