Ir ao conteúdo
  • Cadastre-se
LucasAC

C++ Lista com Alocação menu

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;
}

 

Compartilhar este post


Link para o post
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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui arrumar o problema, obrigado pela ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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...

GRÁTIS: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!