Pessoal, estou com problemas para rodar esse programa. O compilador não apresenta erro mas quando é executada, o terminal encerra a execução no momento em que a função de inserção é chamada
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedefstruct{
charnome[10];
intcodigo;
floatpreço;
}Tproduto;
typedefstructlista {
Tprodutoproduto;
structlista* prox;
}TLista;
typedefTLista* PLista;
TLista* inicializa_lista(){
returnNULL;
}
PListaInsere_ord (PListal, Tprodutodado){
PListanovo;
PListaant = NULL;
PListaptaux = l;
novo = (TLista*) malloc(sizeof(TLista));
novo->produto = dado;
while ((ptaux!=NULL) && (ptaux->produto.codigo)< dado.codigo){
ant = ptaux;
ptaux = ptaux->prox;
}
if (ant == NULL){
novo->prox = l;
l = novo;
}
else{
novo->prox = ant->prox;
ant->prox = novo;
}
returnl;
}
floatbusca_produto (PListalista, intv){
PListap;
for (p=lista; p!=NULL; p=p->prox)
if (p->produto.codigo == v)
returnp->produto.preço;
printf("produto não encontrado\n");
return0;
}
PListaretira (PListalista, charv){
PListaant = NULL;
PListap;
/* procura elemento na lista, guardando anterior */
for (p=lista;p!=NULL && strcmp(v,lista->produto.nome)!=0; p = p->prox)
ant = p;
/* verifica se achou elemento */
if (p == NULL)
returnlista; /* n�o achou: retorna lista original */
/* retira elemento */
if (ant == NULL)
/* retira elemento do inicio */
lista = p->prox;
else
/* retira elemento do meio da lista */
ant->prox = p->prox;
free(p);
returnlista;
}
voidimprime (PListalista){
PListap; /* vari�vel auxiliar para percorrer a lista */
Pergunta
Lucas Mello
Pessoal, estou com problemas para rodar esse programa. O compilador não apresenta erro mas quando é executada, o terminal encerra a execução no momento em que a função de inserção é chamada
Link para o comentário
Compartilhar em outros sites
0 respostass 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.