Ir para o conteúdo
Tiago

[x] Trabalhos da Pascoa

Mensagens Recomendadas

Tiago    0
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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Sub-Z3r0    0
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

:biggrin:

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
UnKnowN    0
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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Sub-Z3r0    0
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?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
UnKnowN    0
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º ?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Tiago    0
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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Sub-Z3r0    0
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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
UnKnowN    0
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 ...

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Sub-Z3r0    0
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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Sub-Z3r0    0
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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
M@KO    1
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?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Sub-Z3r0    0
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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
UnKnowN    0
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! :)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Sub-Z3r0    0
Sub-Z3r0

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

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.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Sub-Z3r0    0
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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
UnKnowN    0
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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Sub-Z3r0    0
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)  :biggrin:

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Tiago    0
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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
UnKnowN    0
UnKnowN

Como é que queres fazer o arredondamento ? de Double para Integer , ou seja, de Inteiro para Real ?

Se for o caso o code fika:

Private Sub Command1_Click()
Dim a As Double
a = Int(2.03 * 3)
Text1.Text = a
End Sub

Isto tendo 1 Botao e 1 Campo Text (de nome Text1)

Se experimentares esse code vais ver que em vez do valor ser 6.09 como deveria vai ser 6 pk 6.09 arredondado dá 6 :cheesygrin:

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Tiago    0
Tiago

UnKnowN tipo

eu fasso 6.5 + 0.5 e ele dame 6 a minha variavel esta em Double !! como fasso para ele somar com virgulas !!

se poderes ajudar agradeço!!

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
UnKnowN    0
UnKnowN

Fizeste com 2 Campos para A e B e um 3º © para o resultado da Soma e um Botao para realizar a Operação? Se Sim o código é assim:

Private Sub Command1_Click()
Dim A, B, C As Double
A = Val(Text1.Text)
B = Val(Text2.Text)
C = A + B
Text3.Text = C
End Sub

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Tiago    0
Tiago

Obrigado pela ajuda tenhu aprendido muito!!  se nao for abusar muito era mais uma questão !!

Tipo agora uma das piores operações para mim

Tenhe de dizer o Maior Numero de (N) Entradas de Números !! Visto ke (N) é o Utilizador ke escolhe

Podes ajudar Uknow!?

Agradeçido

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Tiago Salgado    2
Tiago Salgado

Depende da forma que estás a armazenar esses números que queres comparar. Neste momento apenas tou a ver 2 maneiras que serão simples de fazeres isso...

À medida que o utilizador vai inserindo os números, tu vais guardando num array e depois usando um algoritmo de ordenação tens o o maior número (indo buscar à ultima posição após a ordenação)

O utilizador qd insere o primeiro valor guardas numa variavel esse mesmo valor. Dps nas outras inserções vais comparando com o valor da variavel. Se próximo valor q for inserido for maior, substituis pelo que estava na variavel, se não for mantens o valor da variavel. Dps é só ires ler a variavel e já tens o maior valor.

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


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade