You are on page 1of 3

Procedimientos y Funciones

Problema 19:

Diseñar y programar una aplicación que permita gestionar los retiros y


depósitos de la cuenta bancaria de un cliente.
Se debe primero ingresar los datos del cliente y cuál es el monto de apertura
de la cuenta de ahorros.
El cliente puede realizar "n" depósitos, almacenándolos en su cuenta de
ahorros.
El cliente puede realizar "n" retiros, pero siempre que se realiza el retiro se
debe de tener en cuenta inicialmente que el monto de retiro sea menor al
dinero almacenado en la cuenta de ahorros.
Se debe de mostrar el historial de depósitos y retiros.
Public Class FrmGestionAhorros

Private Sub FrmGestionAhorros_Load(sender As Object,


e As EventArgs) Handles MyBase.Load
'Llamamos al método para desactivar los controles específicos
desactivarControles()
End Sub
Private monto As Double

Codigo btnAbrir

Private Sub btnAbrir_Click(sender As Object,


e As EventArgs) Handles btnAbrir.Click
Dim cliente As String
cliente = txtCliente.Text
'Leemos el monto a depositar
monto = Val(txtMonto.Text)
If (monto >= 0) Then
'Activamos los controles si el monto de depósito es correcto
activarControles()
Else
'Mostramos un mensaje de error si el monto inicial es cero o
negativo
MessageBox.Show("El monto debe ser mayor a cero", "Gestión de
Ahorros",MessageBoxButtons.OK, MessageBoxIcon.Error)
End If

End Sub
Private Sub activarControles()
'Procedimiento que permite activar los controles
txtCliente.Enabled = False
txtMonto.Enabled = False
btnAbrir.Enabled = False
btnRetiro.Enabled = True
btnDeposito.Enabled = True
End Sub

Private Sub desactivarControles()


'Procedimiento que permite desactivar los controles
txtCliente.Enabled = True
txtMonto.Enabled = True
btnAbrir.Enabled = True

btnRetiro.Enabled = False
btnDeposito.Enabled = False
End Sub

Private Function leer(mensaje As String) As Double


'Leemos la cantidad a retirar o depositar con un InputBox
Dim cantidad As String
cantidad = Val(InputBox("Ingrese monto a " + mensaje, "Gestión de
Ahorros", "0", 100, 0))
Return cantidad
End Function

Private Sub mostrar()


'procedimiento que permite mostrar el monto actual
txtSaldo.Text = monto
End Sub

Codigo btnDeposito

Private Sub btnDeposito_Click(sender As Object,


e As EventArgs) Handles btnDeposito.Click
Dim deposito As Double
'Llamamos a la función leer y le enviamos como cadena la palabra
"Depositar"
deposito = leer("depositar")
monto = monto + deposito
lstDepositos.Items.Add(deposito)
mostrar()
End Sub

Codigo btnRetiro

Private Sub btnRetiro_Click(sender As Object,


e As EventArgs) Handles btnRetiro.Click
Dim retiro As Double
'Llamamos a la función leer y le enviamos como cadena la palabra
"Depositar"
retiro = leer("retirar")
'Si la cantidad a retirar es mayor al monto actual mostramos un error
If (retiro <= monto) Then
monto = monto - retiro
lstRetiros.Items.Add(retiro)
mostrar()
Else
MessageBox.Show("El cantidad a retirar excede el saldo", "Gestión
de Ahorros",MessageBoxButtons.OK, MessageBoxIcon.Error)
End If

End Sub

Código del btnNuevo

Private Sub btnNuevo_Click(sender As Object,


e As EventArgs) Handles btnNuevo.Click
desactivarControles()
lstDepositos.Items.Clear()
lstRetiros.Items.Clear()
txtMonto.Clear()
txtCliente.Clear()
txtSaldo.Clear()
End Sub
End Class

You might also like