Ir ao conteúdo
  • Cadastre-se

C++ Lista com Alocação menu


DarkWindG

Posts recomendados

Meu problema são os seguintes erros "PilhaAtividade7.cpp:75: error: cannot convert 'nodo**' to 'Pilha*' for argument '1' to 'void inicializaPilha(Pilha*)' " e "PilhaAtividade7.cpp:90: error: invalid conversion from 'int' to 'Pilha*' ". Esse segundo no caso é o :

push(valor,&A);

 

tenho que fazer uma Lista com alocação dinâmica de memoria, mas sempre da erro por causa do "No A;",que resulta nas linhas que precisam da variável a dar erro.

agradeço desde já quem puder me ajudar.

 

 

#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <locale>

#define TAMMAX 5

using namespace std;

typedef int Elemento;

typedef struct nodo{

Elemento item;

struct nodo *prox;

}* No;

typedef struct{

No topo;

}Pilha;

void inicializaPilha(Pilha *p){

p->topo=NULL;

}

void push(Pilha *p, Elemento ele){

No novoNo;

novoNo = (nodo*) malloc(sizeof(struct nodo));

novoNo->item=ele;

novoNo->prox=p->topo;

p->topo=novoNo;

}

int pop(Pilha *p){

Elemento ele;

No aux;

if (p->topo!=NULL){

ele = p->topo->item;

aux = p->topo;

p->topo = p->topo->prox;

free(aux);

} else{

puts("A pilha está vazia - Underflow");

}

return ele;

}

 main()
{
	No A;
	inicializaPilha(&A);
	int escolha, valor;

	
	while(escolha!=5){
		
		cout <<"Inserir\n";
		cin >> escolha;
		
		switch(escolha){
			case 1:
				
				cout <<"Insira o valor:/n";
				cin >> valor;
				
				push(valor,&A);
				break;
		}
		
	}
	
	return 0;
}

 

Link para o comentário
Compartilhar em outros sites

No primeiro erro a função espera um pilha* mas recebe um nodo**, e o segundo erro você inverteu os argumentos da função.

 

Se for uma lista encadeada que quer fazer na internet há vários exemplos, você pode se basear nesses, tentar implementar no seu código e voltar aqui de novo se precisar de ajuda.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...