Calculadora Em VB

davidstar

Membro
Precisava de uma ajuda com um programa para avaliação do meu 1º Periodo escolar.

Uma calculadora em Visual Basic simples como a do windows XP

imagembi9.jpg


Eu sei que ainda tem erros mas não consigo resolve-los..
Ex :

5 + 5 * 2 = 20

Na minha calculadora o resoltado é 10!

E entre outros erros relacionados com valores reais :S

Se calhar é um erro basico .. mas não consigo resolver :P

Se alguem me puder dar ai uma ajuda agradecia!

http://rapidshare.com/files/68692836/Calculadora.rar.html

Obrigado :D
 
Private Sub BtSoma_Click()
Sop = "+"
A = Label1.Caption
Label1.Caption = ""
End Sub

Private Sub BtMult_Click()
Sop = "*"
A = Label1.Caption
Label1.Caption = ""
End Sub


Private Sub ooo_Click()
Select Case Sop
Case "+"
Label1.Caption = A + Label1.Caption
Case "-"
Label1.Caption = A - Label1.Caption
Case "*"
Label1.Caption = A * Label1.Caption
Case "/"
Label1.Caption = A / Label1.Caption

End Select
 
Precisava de uma ajuda com um programa para avaliação do meu 1º Periodo escolar.

Uma calculadora em Visual Basic simples como a do windows XP

Eu sei que ainda tem erros mas não consigo resolve-los..
Ex :

5 + 5 * 2 = 20

Na minha calculadora o resoltado é 10!

E entre outros erros relacionados com valores reais :S

Se calhar é um erro basico .. mas não consigo resolver :P

Se alguem me puder dar ai uma ajuda agradecia!

http://rapidshare.com/files/68692836/Calculadora.rar.html

Obrigado :D

LOL! ora bem, 5+5*2 não será antes 15? 5*2=10+5=15! e não 20!!

se te referes a (5+5)*2 aí sim é 20...

eu fiz uma em VB no meu 12ºano que ficou mesmo espectacular... infelizmente perdi o código...
 
Private Sub BtSoma_Click()
Sop = "+"
A = Label1.Caption
Label1.Caption = ""
End Sub

Private Sub BtMult_Click()
Sop = "*"
A = Label1.Caption
Label1.Caption = ""
End Sub


Private Sub ooo_Click()
Select Case Sop
Case "+"
Label1.Caption = A + Label1.Caption
Case "-"
Label1.Caption = A - Label1.Caption
Case "*"
Label1.Caption = A * Label1.Caption
Case "/"
Label1.Caption = A / Label1.Caption

End Select
Eu já não programo no meu basic a uns 2 anitos e antes não era muito brilhante, mas aqui vai uma coisa que acho que falta.
Não te faltara programar a tecla igual?para que quando cliques nela apareça o resultado final? porque tu não tens o imprimir nada para imprimir para fora resumida mente assim como esta ele não sabe quando acabas-te de introduzir os números.
 
é ixto :

Private Sub ooo_Click()
Select Case Sop
Case "+"
Label1.Caption = A + Label1.Caption
Case "-"
Label1.Caption = A - Label1.Caption
Case "*"
Label1.Caption = A * Label1.Caption
Case "/"
Label1.Caption = A / Label1.Caption

End Select

End Sub
 
Boas!

O teu problema aí não é a programação..., mas sim aplicares a matemática à programação :P

Lembra-te que existem prioridades, a multiplicação tem prioridade em relação à soma.

A conta que estás a efectuar, matematicamente falando, é esta: (5+5)*2 pois no teu código não estás a impor as prioridades.

O que vais ter de fazer ainda te vai dar um bocado de trabalho..., mas vais ter de fazer um parser da textbox, e fazeres uma interpretação global das operações que lá aparecem, e não sequencial como estás a fazer.

Espero não te ter baralhado mais :P
 
Back
Topo