1
resposta

Exercicio 2.4.8 - Muito legal - codigo completo

DESCRITIVO DA CLASSE:

Public Class Colaborador Public Nome As String Public Salario As Double Public BancoHoras As Double

Public Function Folgar(HorasRequisitas As Integer) As Boolean
    Dim TesteFolgar As Boolean
    If HorasRequisitas > BancoHoras Then
        TesteFolgar = False
    Else
        BancoHoras -= HorasRequisitas
        TesteFolgar = True
    End If
    Return TesteFolgar
End Function

Public Sub AddHoras(HorasAdd As Integer)
    BancoHoras += HorasAdd
End Sub

End Class

DESCRITIVO DO PRINCIPAL:

Public Class Frm_Principal

Dim Colaborador1 As New Colaborador

Public Sub New()

    ' This call is required by the designer.
    InitializeComponent()

    ' Add any initialization after the InitializeComponent() call.
    Me.Text = "Calculo do Banco de Horas do Colaborador"
    Btm_DarFolga.Text = "Baixar Folga"
    Btm_AddHoras.Text = "Adicionar Horas"
    Lbl_BancoDeHoras.Text = "Saldo do Banco de Horas"
    Lbl_Operação.Text = "Horas a Adicionar ou Baixar"
    Lbl_resultado.Text = "Resultado da Operação"
    Colaborador1.Nome = “João”
    Colaborador1.Salario = 3000
    Colaborador1.BancoHoras = 100
    Txt_BancoHoras.Text = Colaborador1.BancoHoras.ToString
    Txt_HorasOperacao.Text = ""

End Sub

Private Sub Btm_DarFolga_Click(sender As Object, e As EventArgs) Handles Btm_DarFolga.Click
    Dim HorasABaixar As Integer = Val(Txt_HorasOperacao.Text)
    Dim ResultadoBaixar As Boolean
    ResultadoBaixar = Colaborador1.Folgar(HorasABaixar)
    If ResultadoBaixar = True Then
        Txt_Resultado.Text = "Horas Baixadas"
    Else
        Txt_Resultado.Text = "Excedeu Limite"
    End If
    Txt_BancoHoras.Text = Colaborador1.BancoHoras.ToString
    Txt_HorasOperacao.Text = ""

End Sub

Private Sub Btm_AddHoras_Click(sender As Object, e As EventArgs) Handles Btm_AddHoras.Click
    Dim HorasAdicionadas As Integer = Val(Txt_HorasOperacao.Text)
    Colaborador1.AddHoras(HorasAdicionadas)
    Txt_HorasOperacao.Text = ""
    Txt_Resultado.Text = HorasAdicionadas.ToString + " Horas Adicionadas no Banco"
    Txt_BancoHoras.Text = Colaborador1.BancoHoras.ToString
End Sub

End Class

1 resposta

Olá Paulo, como vai?

Excelente resolução. Ficou ótimo e bem diferente da forma que o professor resolveu:

Public Class Colaborador

    Public Nome as String
    Public Salario as Double
    Public BancoHoras as Double

    Public Function InserirFolgas (vHorasFolga   as Double) as Boolean
        If (vHorasFolga >= 0) and (vHorasFolga <= BancoHoras) then
            BancoHoras -= vHorasFolga 
            Return True
        End If
        Return False
    End Function

    Public Sub InserirHorasExtras(vHorasExtras as Double)
        BancoHoras += vHorasExtras
    End Sub

End Class

Abraços e bons estudos!