Ir ao conteúdo

Calculadora Pós Fixada em C.


Shaft Delacroix

Posts recomendados

Postado

Olá Pessoal,

Eu estou precisando de uma ajudinha de vocês. Necessito fazer um programa cuja função é de uma calculadora pós fixada em C. Para quem não lembra a notação pós-fixada é aquela que se digita primeiro os numero depois os operandos (1 2 - 4 5 + * = -9).

O enunciado é o seguinte:

50. Faça um programa para implementar utilizando alocação dinâmica em uma pilha uma calculadora que utilize notação pós-fixada.

O programa deverá acessar a expressão em uma string e empilhar a mesma.

No final da execução, o programa deverá apresentar o resultado do calculo da expressão informada.

Eu tenho uma noção de como começar mas minha principal dúvida é em relação a transformação dos caracteres (string) em números (int ou float).

Desde já agradeço

Obrigado

Postado

bah cara.

eu fiz uma dessa também, só q aqui chamaram de POLONESA nunca tinah ouvido falar.

só q utilizei direto em int.

vou buscar aqui na net ve se acho alguma coisa a respeito da conversão, só se tiver algum comando específico, nun me lembro...

falo

Postado

bah cara.

eu fiz uma dessa também, só q aqui chamaram de POLONESA nunca tinah ouvido falar.

só q utilizei direto em int.

vou buscar aqui na net ve se acho alguma coisa a respeito da conversão, só se tiver algum comando específico, nun me lembro...

falo

É essa mesmo, ela tem esse nome de POLONESA também. Será que você poderia me passar o código dela, não tem importância de ser direto com int, porque eu acho q pra transformar é so colocar o comando atoi.

valeu

Postado

cara.. tenta desenvolver a logica...

você sabe q pode "percorrer" uma string da seguinte forma:

for(i=1;i<length(exp_pos_fixa);i++)
{
    if(exp_pos_fixa[i] == '+'...
  
    if(exp_pos_fixa[i] > 48 && exp_pos_fixa[i] < 57) // se for um numero ...

daí você empilha os numeros e quando achar um operador, você desempilha os dois ultimos e faz a operação correspondente entre eles, daí você empilha o resultado..

é só isso

ta entendendo..

tenta fazer cara.. não pede codigo pronto não...

falou

Postado

cara.. tenta desenvolver a logica...

você sabe q pode "percorrer" uma string da seguinte forma:

for(i=1;i<length(exp_pos_fixa);i++)
{
    if(exp_pos_fixa[i] == '+'...
  
    if(exp_pos_fixa[i] > 48 && exp_pos_fixa[i] < 57) // se for um numero ...

daí você empilha os numeros e quando achar um operador, você desempilha os dois ultimos e faz a operação correspondente entre eles, daí você empilha o resultado..

é só isso

ta entendendo..

tenta fazer cara.. não pede codigo pronto não...

falou

Eu estou tentando fazer aqui, estava querendo o código por um questão de segurança para caso eu não consiga fazer até terça-feira.

Esse comando length vai dar uma ajuda legal, tinha esquecido que existia esse comando e estava usando um contador mas com ele vai ficar mais fácil.

valeu a ajuda :joia:

falou

Abraço :-BEER

Postado

deu certo seu trabalho?

Cara deu certo sim, eu consegui fazer :palmas: .Começei fazendo com vetor pra ve a estrutura básica aí depois passei para alocação dinâmica.

Valeu

Abraços []

falou

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!