Jump to content
Sign in to follow this  
Tiago

[x] Trabalhos da Pascoa

Recommended Posts

Tiago

Olá a todos tenhu aqui um trabalho da Pascoa Mais ao menos

Tenhu de Fazer uma Calculadora que me fassa as Seguintes operações

- > Soma

- >Subtracção

- >Multiplicação

- >Divisão

- >Raiz Quadrada de Um Número

- > Inteiro de Um Numero

- > Arredondamento de um número

- > Área de Rectângulo

- > Área de um Circulo

- > Área de um Quadrado

- > Perímetro de Rectangulo

- > Perímetro de um Quadrado

- > Perímetro de um Circulo

- > Os valores de X1 e X2 de um polinómio de 2º Grau

- > o mair Número de N entradas de Números

Se alguem me poder ajudar!! a minha duvida é quando clicar nos numero tipo como guardar os numeros

Ex ele Carrega nu 1 depois no  2 isto vai ser 12 depois ele escolhe a operação  Subtrair e os numeros desapareçe !! e depois ele clika nu numero

1 mas claro ele kd clicou Subtrair o numero 12 desapareceu e o utilizador clikou no 1 !!

não me sei explicar melhor agradecia se alguem me pode ajudar a fazer esta calculadora !! nao peço o Codigo apenas algumas dicas !!

Obrigada e peço desculpa por algo

Share this post


Link to post
Share on other sites
Sub-Z3r0

Eu tinha a seguinte ideia :P

Um contador para saberes em que caracter tas, uma variavel para ter o ultimo operador, e 3 para os resultados( 2 para os intermedios e 1 para o final)

contador = 0

Clica no 1

resultado1 = 1*10^contador

contador++

Clica no 2

resultado1 = resultado + 2*10 ^contador

Clica no +

operador = '+'

contador = 0

Clica no 1

resultado2 = 1*10^contador

contador++

Clica no 5

resultado2 = 5 *10^contador

contador++

clica no igual, soma, subtracção, ...

se operador = '+' entao

    resultadofinal = resultado1 +resultado2

senao se operador = '-'

                resultadofinal = resultado1 - resultado2

...

Uma versão simplista da máquina podia ser implementada desta maneira :)

Pode ser melhorada e muito

:cheesygrin:

Share this post


Link to post
Share on other sites
UnKnowN

Mas tens mesmo de fazer assim ? :| Com apenas 1 Campo para digitaçao de nºs ? Eu também tenho a tua Dúvida ... nao sei guardar os valores e com a "Explicaçao" do Sub-Z3r0 inda fikei mais á nora

Share this post


Link to post
Share on other sites
Sub-Z3r0

lol

entao ...

mil duzentos e trinta e quatro escreve-se 1234 e pode-se representar como

1*10^3+2*10^2+3*10^1+4*10^0

ou seja

1 * 1000 + 2 * 100 + 3 * 10 + 4 * 1

foi isto que não percebeste?

Share this post


Link to post
Share on other sites
UnKnowN

Não ... lol :P Foi mesmo a suposta técnica para somar, subtrair, etc... no mesmo campo

          _______

Text1|_______|

CommandButton1 |BUTTON|

          _______

Text2|_______|

Text1 = 2

CommandButton1 = Somar

Text1 = 3

Text2 = 5

Tipo calculadora do Windows ... indicas os dois valores num só campo ... como é que se gravam os valores do 1º para depois se indicar o 2º ?

Share this post


Link to post
Share on other sites
Tiago

tenhu duas semanas para fazer este programa !!

eu pensei tb da maneira de guardas u numero na variavel !! mas a maneira do Sub zero tb me confundiu um pouco !!

mas obrigada pela dica Subzero

um abraço

Share this post


Link to post
Share on other sites
Sub-Z3r0

se pensares que tens de guardar sempre dois numeros. na calculadora do windows acho que funciona da seguinte maneira.

* escreves o numero(resultado1)

* clicas na operação(operacao)

* escreves outro numero(resultado2)

* clicas na operacao

   -  executa a operacao anterior

   - guarda o resultado da operacao como resultado1

   - guarda o operador

* escreves outro numero(resultado2)

* clicas na operacao

   -  executa a operacao anterior

   - guarda o resultado da operacao como resultado1

   - guarda o operador

acho que o algoritmo nao foge disto

Share this post


Link to post
Share on other sites
UnKnowN

Sim mas como é que indica que vai guardar ?

Em dois campos é facil ... sao independentes logo,

Dim a, b, c As Double
a = Val(Text1.Text) // Guarda o valor do 1º campo
b = Val(Text2.Text) // Guarda o valor do 2º campo
c = a + b
Text3.Text = c

Mas assim tinha de indicar Guardar 2 valores no mesmo campo ... :\

Nao percebo como ...

Share this post


Link to post
Share on other sites
Sub-Z3r0

lol

eu acho é que não estou a perceber a tua dúvida. guardar os valores como?

o algoritmo n deve fugir mt da ultima coisa que disse. acho que está explicito :P

é só bater código na linguagem que for....

em VB ao clicares nos botões vai desencadear as ditas acções.

Tens os números(0..9), e as operações(numa máquina simples, +,-,/,*), uma caixa de texto bloqueada, para não meteres valores disparatados(ex. texto), tens os botoes de apagar normais.

No VB tens a vida muito facilitada, já não é preciso o 1*10^0, 2*10^1 etc etc ... a textbox guarda o valor todo

agora podes explicar mais propriamente a tua duvida lol

se eu souber, tento não te confundir mais

eheheh

Share this post


Link to post
Share on other sites
Sub-Z3r0

Fiquei curioso, e pus-me a fazer a dita calculadora lol

Muito simples esta que fiz, e com muitos erros, principalmente por guardar as cenas em INTEGER. foi só teste, por isso :P

alguns botoes nao funcionam por isso msmo. foi so para dar a sensacao do "guardar" que eu acho que voces falam

Está em VB6.0

Share this post


Link to post
Share on other sites
M@KO

Oi!! A tecla zero tava a dar erro, tirei o cint que tinhas la no if e ficou bom.

Agora diz me lá: queres que ao carregar no mais apareça o sinal ou queres que o numero desapareça pra escreveres outro?

Share this post


Link to post
Share on other sites
Sub-Z3r0

lol, o numero só desaparece quando clicas na caixa de texto para escrever :P

como te disse é uma versão MUITO rasca de uma calculadora lol

quanto ao problema de carregar no zero, já não me lembro fiz isto tudo com uma moca de sono, ehehehe

mas sei q o zero é um caso a parte, pq no inicio n se pode escrever zeros à toa

Share this post


Link to post
Share on other sites
UnKnowN

Fiquei curioso, e pus-me a fazer a dita calculadora lol

Muito simples esta que fiz, e com muitos erros, principalmente por guardar as cenas em INTEGER. foi só teste, por isso :P

alguns botoes nao funcionam por isso msmo. foi so para dar a sensacao do "guardar" que eu acho que voces falam

Está em VB6.0

Comigo nao Funka a Calculadora ... :P

Kuando carrego no 9+3 aparece 93 no campo e depois Igual (=) a "" ('nada')

Anyway, o que queria que me explicassem é como é que vces conseguem fazer tudo num só campo ...

Se eu tiver 2 campos torna-se mt mais facil ... sao independentes e tal 'a','b','c' -> 'a'+'b'='c'

Mas como é que fazem para 'a' ser do Text1.Text e 'b' também ?

I'm ConfuseD! :)

Share this post


Link to post
Share on other sites
Sub-Z3r0

M@KO, toma a correcção do zero, e com Double em vez de Integer  :cheesygrin:

quanto ao UnKnowN, não funciona pq já disse que tens de carregar na caixa de texto, tipo, escreves 9 -> clicas no + -> clicas na caixa de texto -> clicas no 3

ehehe

quanto è tua duvida é um bocado dificil de explicar.

Eu tenho uma variavel intermédia, que serve para guardar o valor actual da caixa txtresultado, ou seja, o valor que estava escrito antes de carregares na operacao.

Tenho a variavel de resultado, que vai guardar o resultado das operacoes sucessivamente.

em vez de , C = A + B, é mais do tipo C = C + A, não ha outra maneira.

Share this post


Link to post
Share on other sites
UnKnowN

Nao percebi a parte do C=C+A ... tenho dificuldade em perceber isto de x = x + 1 visto que x só pode ser x :P LOL!

Share this post


Link to post
Share on other sites
Sub-Z3r0

lol

em relação ao VB, têm de compreender os erros, já não pegava no VB há prai 4/5 anos, foi no 12º ano

ehehe

vou-te por em termos de C e A

Vamos pensar que queres somar 1+3+4

1. Carregas no 1

2. Carregas no + [C = 1]

3. Carregas no 3

4. Carregas no + [C = 1 + 3] -> ou seja C = C + 3

5. Carregas no 4

6. Carregas no = [C = 4 + 4] -> ou seja C = C + 4

tá melhor assim? lol

Share this post


Link to post
Share on other sites
UnKnowN

lol

em relação ao VB, têm de compreender os erros, já não pegava no VB há prai 4/5 anos, foi no 12º ano

ehehe

vou-te por em termos de C e A

Vamos pensar que queres somar 1+3+4

1. Carregas no 1

2. Carregas no + [C = 1]

3. Carregas no 3

4. Carregas no + [C = 1 + 3] -> ou seja C = C + 3

5. Carregas no 4

6. Carregas no = [C = 4 + 4] -> ou seja C = C + 4

tá melhor assim? lol

EhEh tens jeito pa Prof. :P

Share this post


Link to post
Share on other sites
Sub-Z3r0

Outra versão, já tem o "." a funcar ehehe

ah !  e tava a fazer coisas que não necessitava, mas na altura que as fiz estava a pensar noutra coisa...

além de ter encontrado na net o CDbl(String)  :cheesygrin:

Share this post


Link to post
Share on other sites
Tiago

Olá Mais uma vez eu fiz com um Case e está bom !!

Agora tenhu de fazer  um arredondamento!! alguem me podia explicar isso sff

um Abraço

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.