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

yschmitzz

Calculadora

9 mensagens neste tópico

Ola

estou desenvolvendo uma calculadora, so que queria adicionar umas coisas, mas nao sei como

assim

ela funciona com 2 textbox, vc dijita um numero no textbox1, e no textbox2 dijita outro, e escolhe a função se é somar, diminuir etc

ae sairá o resultado

mas eu queria fazer de uma farma diferente da calculadora do windows

queri que vc dijitase no textbox uma expresao e ela resolvese

por exemplo

fazendo

Sub Button1(.....) Handle Button1.Click

Textbox1.text = (-10 + 2*(10\52)^5 \ 3 *5\2)

End Sub

c eu clicar no botao, ele ira resolver essa expressao

mas eu quero que nao haja expressoes prontas, queria que o usuario dijitase no textbox a expresao e clicase em = e saise o resultado

tentei fazer

Textbox1.text = (textbox2.text)

so q ele repete oq é dijitado e nao resolve

como eu faço pra resolver?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim

mas o problema n é que nao eteja resolvendo os calculos

o problema é que ele nao faz o calculo por exemplo

-10 + 2*(10\52)^5 \ 3 *5\2

c eu dijitar isso no textbox ele ao resolve

é como c eu dijitase no codigo "-10 + 2*(10\52)^5 \ 3 *5\2" ae viraria texos

e tbm ele nao resolve na ordem que é pra er resolvida o calculo, (comecando pelo parentece, depox vezes ou dividido) etc

deu pra entender??

expliquei muito mal

xD

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O que tu queres fazer é meter numa textbox a expressao, e na outra textbox sair o resultado quando se carrega no button ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ISSO!!!!!!!

a claculadora do windows ela quando aperta o + ja recebe a função de somar, ae o proximo numero dijitado, apagará o primeiro e depox somará com esse

eu queria q NAO apaguase o primeiro numero esncrito (no caso o antes de aperta o "+") queroq q apareca

por exeplo

quero fazer um calculo de 2 + 1

na calculadora do windows, dijito o 2, aperto + e aperto o 1

quando eu aperto o 1, o 2 some

quero q ele permaneça e mostre 2 + 1

ae so aperta pra calcular q ele dará o resultado

so q eu quero com expressoes matematicas com Parenteces, Chaves, Colchetes Potencia etc

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Percebi a tua ideia, e agora estou tambem a gostar disto  :P

Mas parace ser um pouco dificil...

Nao sei se existe maneira mais facil, mas ve se percebes a logica deste pequeno codigo (esta dentro de um botao)

So aceita expressoes tipo  3+3^3  (numero+numero^numero)

Nao programei mais, foi so mesmo para perceber o caso.

  Try

            Dim var2, var3 As String

            Dim cont, val1, val2, valt1, valt2, valt3 As Single

            Dim var1 As String

            var1 = TextBox1.Text

            Dim all() As Char = var1.ToCharArray

            For y = 0 To Len(var1) - 1

                If all(y) = "^" Then

                    cont = y - 1

                    var2 = all(cont)

                    cont = y + 1

                    var3 = all(cont)

                    val1 = Val(var2)

                    val2 = Val(var3)

                    valt1 = val1 ^ val2

                End If

            Next y

            For z = 0 To Len(var1) - 1

                If all(z) = "+" Then

                    If valt1 <> Nothing Then

                        cont = z - 1

                        var2 = all(cont)

                        val1 = Val(var2)

                        valt2 = val1

                        valt3 = valt1 + valt2

                    End If

                End If

            Next z

            TextBox2.Text = valt3

        Catch ex As Exception

            MsgBox("Introduza operacao, por ex: 3+3^3")

        End Try

Com algo assim acho que da para fazer, mas e preciso muita programaçao para os varios tipos de situaçoes.

Se ouver maneira mais facil tambem gostava de saber, agora fiquei com o bichinho !  :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

VLW!!

vo testar

ae

mais uma duvida

sera q eu vconsigo fazer um desse com os livros vendidos na net?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ae

a linha

prioridadeexp = False

deu erro, ae eu eliminei ela, ae o resutado de qualquer coisa sempre da 0

ae eu declarei uma variaves em String pra ela

ae o resultado continua em 0

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pois, essa linha esta a mais, nao e precisa. eu acabei por nao precisar.

Mas ja conseguiste perceber mais ou menos o que tens de fazer ?

Tens de detectar os sinais.

E depois de detectares os sinais procuras os numeros que estao a frente e atras dos sinais.

Entre isso, acho que o mais dificil é dar prioridade às operaçoes...

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