romulo
General de Pijama
Registrado
7.4K Mensagens
0 Curtidas
Olhem só q loucura! Tenho uma classe com uma função para adicionar um número numa lista-ligada
Lista::Adicionar(no...
Posta aí o código.
Kernel BeoS
Membro Junior
Registrado
89 Mensagens
0 Curtidas
Esse código cause erre de execução=>
#include
#include
struct node{
int fone;
node *next;
};
class Lista{
public:
void Adicionar(node **cabeca,node **atual,int i);
int MostrarLista(node **cabeca,node **atual) ;
void Remover();
};
void Lista::Adicionar(node **cabeca,node **atual, int i)
{
if(*cabeca==NULL)
{
*cabeca=new node;
(*cabeca)->fone=i;
(*cabeca)->next=NULL;
}
else
{
*atual=*cabeca;
*cabeca=NULL;
*cabeca=new node;
(*cabeca)->fone=i;
(*cabeca)->next=(*atual);
}
}
int Lista::MostrarLista(node **cabeca,node **atual)
{
if(*cabeca==NULL)
{
cout << "There isn't any number" << endl;
return 0;
}
else
{
*atual=*cabeca;
while(*atual!=NULL)
{
cout <<"Fone: " << (*atual)->fone << endl;
*atual=(*atual)->next;
}
cout<<" deletando... ";
}
}
int main()
{
node *cabeca,*atual=NULL;
char name[64];
int i;
Lista Lista1;
cout<<"Oi !"<
cin>>i;
Lista1.Adicionar(&cabeca,&atual,i);
cout<
Lista1.MostrarLista(&cabeca,&atual);
cout<<"deletado...";
node *ptr;
while(cabeca!=NULL)
{
ptr=cabeca->next;
delete cabeca;
cabeca=ptr;
}
return 0;
}
romulo
General de Pijama
Registrado
7.4K Mensagens
0 Curtidas
Esse código cause erre de execução=>
#include
#include
struct node{
int f...
O erro tá aqui:
node *cabeca,*atual=NULL; <-- você esqueceu de inicializar a variável cabeca
coloque:
node *cabeca=NULL,*atual=NULL;
Kernel BeoS
Membro Junior
Registrado
89 Mensagens
0 Curtidas
ISSAAA :lol:
é pq aprendi q int x,y=10; faz as duas serem 10, então isso não funciona com estruturas?
outra coisa, mesmo com o código errado se o usuário digitar o nº dentro da funão Adicionar() o erro não ocorre 8O :?: PQ :?:
romulo
General de Pijama
Registrado
7.4K Mensagens
0 Curtidas
ISSAAA :lol:
é pq aprendi q int x,y=10; faz as duas serem 10, então isso não funciona com estruturas?
Isso não funciona com nenhum tipo de variáveis. Quem te ensinou assim ensinou errado. Pelo menos segundo o padrão ANSI (às vezes um compilador específico pode ter alterações).
outra coisa, mesmo com o código errado se o usuário digitar o nº dentro da funão Adicionar() o erro não ocorre
Cara, eu testei aqui no Dev-C++ e o erro continuou acontecendo, mesmo com o cin dentro da função.