Programação Progressiva

Fórum para dúvidas dos sites: Programação Progressiva, Java Progressivo, C Progressivo


Você não está conectado. Conecte-se ou registre-se

Duvida em como passar o parametro de uma struct para uma funçao

Ver o tópico anterior Ver o tópico seguinte Ir em baixo  Mensagem [Página 1 de 1]

Ola, sou iniciante em C e estou tendo dificuldade com um algoritmo que gerencia passagens aereas.
Tenho um arquivo voo.c, um passagens.c, um passagens.h e um voo.h(que inclui o header passagens.h).
.
Em Passageiros.c tenho a seguinte struct e funçao:
struct passageiro {
char nome[MAX];
char telefone[13];
int cpf;
struct passageiro* prox;
struct passageiro* ant;
};

Passageiro* incluiPass(Passageiro* pass){
Passageiro* novo = (Passageiro*) malloc(sizeof(Passageiro));
Passageiro* ant = pass;
Passageiro* prox = pass->prox;

printf("\nPassou1");

fflush(stdin);
__fpurge(stdin);
printf("\nNome do passageiro: ");
gets(novo->nome);

fflush(stdin);
__fpurge(stdin);
printf("\nTelefone: ");
gets(novo->telefone);

fflush(stdin);
__fpurge(stdin);
printf("\nCPF: ");
scanf("%d",&(novo->cpf));

novo->ant ==NULL;
novo->prox = NULL;

if(ant == NULL)
return novo;

while(prox!=NULL){
ant = prox;
prox = ant->prox;
}

ant->prox = novo;

return pass;

}

Ja em voo.c tenho a seguinte struct e funçao

struct voo {
int numVoo;
char hora[6];
char destino[20];
int capacidade;
int assentosDisp;
struct passageiro* pVoo;
struct listaEspera* lEsperaInicio;
struct listaEspera* lEsperaFim;
struct voo* ant;
struct voo* prox;
};

Voo* addPass(Voo* v){
Voo* aux = v;
aux = buscaVoo(aux); /*funçao que pesquisa o voo desejado para incluir um passagiero*/

printf("\n%d",aux->assentosDisp);
if(aux->pVoo == NULL || aux->assentosDisp > 0){
aux->pVoo = incluiPass(aux->pVoo); //nao funciona
}

return v;
}


Porem nao sei como chamar a funçao incluiPass dentro da funçao addPass, da forma que esta o programa fecha sozinho e retorna -1.

Usando codeblocks com gcc no Linux


Ver perfil do usuário

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo  Mensagem [Página 1 de 1]

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum