Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

blacksaint

[Resolvido] Calculadora de dois campos (Valor1, valor2)

Recommended Posts

Salve, galera, tive duas aulas de visual basic e o professor pediu para gente tentar fazer uma calculadora só que diferente das diversas que existem, tem que ser uma calculadora com primeiro valor e segundo valor e o resultado, ou seja, 3 label's, 3 textboxs, as operações (+, -, /, *) o botão igual( = ) o botão limpar (CE) o botão sair e os botões de números. até aí tudo bem, saiu isso:

calculadoravisual.jpg

 

como começamos e não tivemos ainda nenhuma aula em laboratório, estou com dificuldades na parte de programação do VB, tipo assim, para o campo 1° número, o botão 1 quando clicado, tem o seguinte código:

Private Sub CMD1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CMD1.Click
       TXTNUM1.Text = TXTNUM1.Text & "1"
   End Sub

 

Agora que vem o problema, após digitar o número desejado, quero clicar no campo 2° número e digitar o segundo número e somente depois efetuar o clique na operação desejada>>> (+, -, *, /).

Poderiam me dar uma luz?

 

Segue o código atual, somente com o clique do botão 1 no txtnum1.text:

Public Class calculadora2
   Private Sub CMD1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CMD1.Click
       TXTNUM1.Text = TXTNUM1.Text & "1"
   End Sub

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

   Private Sub CMDADICAO_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CMDADICAO.Click

   End Sub

   Private Sub TXTRES_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TXTRES.TextChanged

   End Sub

   Private Sub CMDLIMPAR_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CMDLIMPAR.Click
       TXTNUM1.Text = ""
       TXTNUM2.Text = ""
       TXTRES.Text = ""
   End Sub
End Class

 

obs: programei o botão CE para apagar tudo, estou vendo uma forma de tentar apagar somente o campo atual... até o momento agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

salve galera, segue meu código atualizado, faltando apenas o problema acima...

como posso após digitar o primeiro número e digitar a operação (+, -, /, *) fazer com que a próxima digitação dos números de 0 a 9 sejam preenchidos no campo "2° número:" ?

 

Public Class calculadora2
   Public numero1 As String
   Public operador As String
   Public numero2 As String
   Private Sub CMDSAIR_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CMDSAIR.Click
       End
   End Sub

   Private Sub CMDADICAO_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CMDADICAO.Click
       numero1 = TXTNUM1.Text
       operador = "adicao"
       numero2 = TXTNUM2.Text
   End Sub

   Private Sub TXTRES_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TXTRES.TextChanged

   End Sub

   Private Sub CMDLIMPAR_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CMDLIMPAR.Click
       TXTNUM1.Text = ""
       TXTNUM2.Text = ""
       TXTRES.Text = ""
   End Sub

   Private Sub CMDIGUAL_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CMDIGUAL.Click
       If numero1 = "" Then
           MsgBox("É necessário inserir um número no campo '1° Número'")
       ElseIf numero2 = "" Then
           MsgBox("É necessário inserir um número no campo '2° Número'")
       ElseIf operador = "adicao" Then
           TXTRES.Text = Val(numero1) + Val(numero2)
       ElseIf operador = "subtracao" Then
           If numero2 > numero1 Then
               numero2 = ""
               TXTNUM2.Text = ""
               MsgBox("O segundo número não pode ser maior que o primeiro número!")
           Else
               TXTRES.Text = Val(numero1) - Val(numero2)
           End If
       ElseIf operador = "divisao" Then
           If numero2 = 0 Then
               numero2 = ""
               TXTNUM2.Text = ""
               MsgBox("Na divisão não se pode dividir por Zero.")
           Else
               TXTRES.Text = numero1 / numero2
           End If
       ElseIf operador = "multiplicacao" Then
           TXTRES.Text = numero1 * numero2
       End If
   End Sub
   Private Sub CMD1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CMD1.Click
       TXTNUM1.Text = TXTNUM1.Text & "1"
   End Sub
   Private Sub CMD2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CMD2.Click
       TXTNUM1.Text = TXTNUM1.Text & "2"
   End Sub
   Private Sub CMD3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CMD3.Click
       TXTNUM1.Text = TXTNUM1.Text & "3"
   End Sub
   Private Sub CMD4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CMD4.Click
       TXTNUM1.Text = TXTNUM1.Text & "4"
   End Sub
   Private Sub CMD5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CMD5.Click
       TXTNUM1.Text = TXTNUM1.Text & "5"
   End Sub
   Private Sub CMD6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CMD6.Click
       TXTNUM1.Text = TXTNUM1.Text & "6"
   End Sub
   Private Sub CMD7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CMD7.Click
       TXTNUM1.Text = TXTNUM1.Text & "7"
   End Sub
   Private Sub CMD8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CMD8.Click
       TXTNUM1.Text = TXTNUM1.Text & "8"
   End Sub
   Private Sub CMD9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CMD9.Click
       TXTNUM1.Text = TXTNUM1.Text & "9"
   End Sub
   Private Sub CMD0_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CMD0.Click
       TXTNUM1.Text = TXTNUM1.Text & "0"
   End Sub

   Private Sub CMDSUBTRACAO_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CMDSUBTRACAO.Click
       numero1 = TXTNUM1.Text
       operador = "subtracao"
       numero2 = TXTNUM2.Text
   End Sub

   Private Sub CMDMULTIPLICACAO_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CMDMULTIPLICACAO.Click
       numero1 = TXTNUM1.Text
       operador = "multiplicacao"
       numero2 = TXTNUM2.Text
   End Sub

   Private Sub CMDDIVISAO_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CMDDIVISAO.Click
       numero1 = TXTNUM1.Text
       operador = "divisao"
       numero2 = TXTNUM2.Text
   End Sub
End Class

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.