Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
zeroonnet

[VB.Net 2005] Calculadora

Recommended Posts

zeroonnet

Boas epa consegui fazer uma calculadora e segue-se o code e de seguida o que quero fazer +:

Public Class Form1
    Dim conta As Double
    Dim tipo As Char

    Private Sub btnSair_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSair.Click
        End
    End Sub

    Private Sub btnApagar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnApagar.Click
        conta = Nothing
        tipo = Nothing
        lista.Items.Clear()
        txtTexto.Clear()
    End Sub

    Sub calcular()
        If tipo <> Nothing Then
            Select Case tipo
                Case "*"
                    conta = conta * txtTexto.Text
                Case "/"
                    conta = conta / txtTexto.Text
                Case "+"
                    conta = conta + txtTexto.Text
                Case "-"
                    conta = conta - txtTexto.Text
            End Select
        Else
            conta = txtTexto.Text
        End If
    End Sub

    Sub adds()
        lista.Items.Add(txtTexto.Text)
        lista.Items.Add(tipo)
        txtTexto.Clear()
        txtTexto.Focus()
    End Sub

    Private Sub btnDividir_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnDividir.Click
        calcular()
        tipo = "/"
        adds()
    End Sub

    Private Sub btnIgual_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnIgual.Click
        calcular()
        lista.Items.Add(txtTexto.Text)
        lista.Items.Add("_____________")
        lista.Items.Add(conta)
        lista.Items.Add("")
        lista.Items.Add("")
        txtTexto.Clear()
        conta = Nothing
        tipo = Nothing
        txtTexto.Focus()
    End Sub

    Private Sub btnMais_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnMais.Click
        calcular()
        tipo = "+"
        adds()
    End Sub

    Private Sub btnMenos_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnMenos.Click
        calcular()
        tipo = "-"
        adds()
    End Sub

    Private Sub btnVezes_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnVezes.Click
        calcular()
        tipo = "*"
        adds()
    End Sub

End Class

Queria que a list começa-se de baixo para cima e fizesse autoscroll para baixo ou seja acompanha-se a conta... se alguem poder ajudar agradecia xD

Fiquem Bem!

Share this post


Link to post
Share on other sites
Drone

Pode ate existir maneira mais facil mas se exprimentares gravar todos os dados q tens na lista para um array dos apagas a lista toda, depois adicionas o ultimo resultado a lista e dps adicionas as restantes que guardaste na array.

Share this post


Link to post
Share on other sites
Nazgulled

Não percebi bem a tua dúvida porque não estou a ver o que realmente é essa lista, mas tenho uma sugestão. As variaives conta e tipo não têm necessidade de alguma de serem globais à classe... podem ser internas à função Calculate() e no caso do tipo, passas como argumento a essa função.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.