copynow Postado Março 3, 2011 Denunciar Share Postado Março 3, 2011 Bom dia, Fiz o template de pilha encadeada certo.Agora eu precisava do main..Por exemplo:Leia um número ou um operadorSe for número, empilheSe for operador, desempilhe os últimos 2 números, realize a operação correspondente e empilhe o resultadoMinha dificuldade é implementar isso no c++Os templates abaixo no pilhaEnc.h:#ifndef _PilhaEnc_H #define _PilhaEnc_H #include <stdexcept> using std::logic_error; namespace ED { template <typename Tipo> class PilhaEnc { public: PilhaEnc(); ~PilhaEnc(); // Métodos principais void empilha(const Tipo &elem) throw (logic_error); Tipo desempilha() throw (logic_error); // Métodos auxiliares bool vazia(); int tamanho(); private: struct Celula { Tipo el; Celula *prox; }; Celula *topo; int nelem; }; // Construtor template <typename Tipo> PilhaEnc<Tipo>::PilhaEnc() { topo = NULL; nelem = 0; } // Destrutor template <typename Tipo> PilhaEnc<Tipo>::~PilhaEnc() { Celula *aux; while (topo) { aux = topo; topo = topo->prox; delete aux; } } // Empilha template <typename Tipo> void PilhaEnc<Tipo>::empilha(const Tipo &el) throw (logic_error){ Celula *nova = new Celula; if (nova == NULL) throw logic_error("Falta memoria\n"); nova->el = el; nova->prox = topo; topo = nova; nelem++; } // Desempilha template <typename Tipo> Tipo PilhaEnc<Tipo>::desempilha() throw (logic_error) { if (nelem == 0) throw logic_error("Pilha vazia\n"); Tipo ret = topo->el; Celula *aux = topo; topo = topo->prox; delete aux; nelem--; return(ret); } // Métodos auxiliares template <typename Tipo> bool PilhaEnc<Tipo>::vazia() { return(nelem == 0); } template <typename Tipo> int PilhaEnc<Tipo>::tamanho() { return(nelem); } } #endif Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 William Rodrigues Postado Abril 6, 2011 Denunciar Share Postado Abril 6, 2011 Saudações,Poste sua implementação (função Main())para que possamos te ajudar.Abraços,William Rodrigues. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
copynow
Bom dia,
Fiz o template de pilha encadeada certo.
Agora eu precisava do main..
Por exemplo:
Leia um número ou um operador
Se for número, empilhe
Se for operador, desempilhe os últimos 2 números, realize a operação
correspondente e empilhe o resultado
Minha dificuldade é implementar isso no c++
Os templates abaixo no pilhaEnc.h:
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.