Tem como dar uma olhada no meu codigo e ver o que esta de errado... deve ser algum erro bobo é um exercício de filas... sem alguem puder me ajudar desde ja obrigado.
#include <stdio.h>
#include <stdlib.h>
void cria(LISTA *lista){
lista->primeiro = (PONT)malloc (sizeof (CELULA));
lista->ultimo = lista->primeiro;
lista->primeiro->prox = NULL;
}
int vazia(LISTA lista){
if(lista->primeiro == lista->ultimo){
return 0;
}else return 1;
}
int insere_ord(ALUNO aluno,LISTA *lista){
PONT p,q,aux;
aux = (PONT) malloc(sizeof(CELULA));
p = lista->primeiro;
while(p->prox !=NULL){
if( p->prox->aluno.idAluno > aluno->idAluno){
aluno.prox = p->prox
p->prox = aux;
return 0;
}
}
}
int destroi(Lista *lista){
PONT p,q;
p=lista->primeiro;
while (p->prox !=NULL){
q = p->prox;
p->prox = q->prox;
free(q);
}
}
void imprime(LISTA){
PONT aux;
aux = lista.primeiro->prox;
while(aux != NULL){
printf("%d\n",aux->aluno.idAluno);
aux =aux->prox;
}
}
int main(int argc, char *argv[]){
typedef struct {
int idAluno;
int Notas[4];
}ALUNO;
typedef struct CELULA_TAG *PONT;
typedef struct CELULA_TAG{
ALUNO aluno;
PONT prox;
}CELULA;
typedef struct {
PONT primeiro,ultimo;
}LISTA;
cria(LISTA*);
vazia(LISTA);
insere_ord(ALUNO,LISTA*)
destroi(LISTA*);
}