davidstar
10-11-2007, 09:08
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
http://img91.imageshack.us/img91/64/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
Mostra o codigo da multiplicaçao e da soma
davidstar
10-11-2007, 14:25
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...
davidstar
10-11-2007, 16:18
Pois la está.. esqueci-me de referir que a minha matematica tambem n é das melhores LOL
mesmo assim inda tem muitos erros com numeros reais =S
Eu fiz uma calculadora tipo a calculadora cientifica do windows no 12º também já a coloco aqui se ainda a tiver no PC :D
Pauleta_Tubarao
10-11-2007, 22:58
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.
davidstar
11-11-2007, 00:06
é 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
alfinete
13-11-2007, 01:14
põe dois botões com texto de ( e )
assim ja podes tratar das prioridades
davidstar
13-11-2007, 21:12
vou tentar isso ;)
obrigado pela ideia =D