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

zoep

[Resolvido] Calculadora.net

13 mensagens neste tópico

Boa noite pessoal,

Foi-me solicitado que criasse uma calculadora para fazer as funções simples (+,-,*,/ e %)

Eu criei a calculadora, já consegui meter a funcionar, mas apenas consigo fazer uma equação, do género: 214+9

Para somar mais números tenho de fazer o resultado daquela conta (premindo o botão =) e depois somando (a partir do botão +)

Será que posso alterar de maneira a conseguir fazer logo equações do tipo : 2+2+2+2?

A minha segundo duvida, é que tive de meter um comando (do tipo textbox1.text="") para poder enviar os primeiros dígitos para uma variável e podemos equacionar com os que vinham a seguir (fazendo var+text1.text)

Será que á maneira de mandar os primeiro dígitos para a variável, mas eles não saírem da textbox? (do tipo da calculadora do windows)

Obrigado,

Com desejos duma rápida respostas,

Bruno

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

penso que esse processo devia funcionar.... ou então recarregas a text box.. no evento keyPress da text box.... deve ser suficientemente rápido para manteres o texto que existia e o que estás a escrever...

No fundo...ele só deverá calcular... quando tu o mandares.. até lá... devem permanecer na text box... mas a cal do windows nao e isso que faz...vai calculando logo....

mas ainda assim... aqui fica uma hipótese que poderá resultar:

Private Sub txt1_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txt1.KeyPress
        Dim strAux As String
        strAux = txt1.Text + e.KeyChar.ToString()
    End Sub

Experimentei isto assim a correr...deves poder melhorar muito e impedir repetições de operações e permitires apenas numeros por exemplo....

Mas a base pode ser esta....

Bom trabalho

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

penso que esse processo devia funcionar.... ou então recarregas a text box.. no evento keyPress da text box.... deve ser suficientemente rápido para manteres o texto que existia e o que estás a escrever...

No fundo...ele só deverá calcular... quando tu o mandares.. até lá... devem permanecer na text box... mas a cal do windows nao e isso que faz...vai calculando logo....

mas ainda assim... aqui fica uma hipótese que poderá resultar:

Private Sub txt1_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txt1.KeyPress
        Dim strAux As String
        strAux = txt1.Text + e.KeyChar.ToString()
    End Sub

Experimentei isto assim a correr...deves poder melhorar muito e impedir repetições de operações e permitires apenas numeros por exemplo....

Mas a base pode ser esta....

Bom trabalho

Olá José Lopes,

Acho que o que ele quer é colocar algo do género:

15*5+45+2 e calcular o resultado.

Já tem aqui duas ideias :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

sim...de facto estive aqui a pensar melhor...e acho que percebi muito à frente.... lol...

é so escrever a equação toda na text box..e dar a instrução para calcular no fim.... dahhhhhh

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Uma das duvidas resolvidas! Obrigado

A outra duvida é a seguinte:

A calculadora está feita e resolve operações... (apenas posso carregar nos botões da calculadora mesmo). Mas o meu problema é, ela resolve operações de duas parcelas! Se eu quiser fazer 2+2 e carregar no botão igual, ela faz... mas se quiser fazer 2+2+2 e só depois carregar no botão igual, ela vai-me dar 4 na mesma, porque apenas soma 2 parcelas !

*EDIT*

    Private Sub BT_mais_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT_mais.Click
        var_num1 = var_num1 + Val(TXT_numeros.Text)
        TXT_numeros.Text = ""
        tipo = "mais"
    End Sub

Pessoal já resolvi o problema para o mais... bastava adicionar o segundo var_num1, mas para as outras operações tá dificil !

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

já, mas é diferente!

O que tu me deste é para poder fazer equações do tipo 2+2*2...

O que eu quero é apenas fazer 2+2+2!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O que te mostrei é para fazer TODAS e não apenas 1+2+3+4.

Se queres fazer apenas adições, só tens de separar a string pelo sinal de mais "+" para uma array, e depois somar todos os elementos do array.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Penso que para fazeres esse cálculo... vais ter que escrever toda a expressão no text box... porque o que me parece é que ele faz logo a soma para cada nova entrada.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora