List_r destroi_lista_r(List_r lista) {
    List_r temp_ptr;
    while (lista_vazia_r(lista) == 0) {
        temp_ptr = lista;
        lista = lista->next;
        free(temp_ptr);
    }
    free(lista);
    return NULL;
}
Exemplo n.º 2
0
void gravar_fich(Requisit requisit, int code)
{
    FILE *requisit_f;
    Requisit aux_r;
    f_espera aux_fila;

    if(code)
    {
        requisit_f = fopen("requisit.txt","a");

        aux_r = pesquisa_lista_r(requisit,code);

        if (lista_vazia_r(requisit->prox)==0)
            fprintf(requisit_f,"\n\n");

        fprintf(requisit_f,"%d\n",aux_r->info.cod_livro);
        fprintf(requisit_f,"%d\n",aux_r->info.cod_utente);
        fprintf(requisit_f,"%d/%d/%d\n",aux_r->info.data_r.dia,aux_r->info.data_r.mes,aux_r->info.data_r.ano);
        fprintf(requisit_f,"0");

        fclose(requisit_f);
    }

    else
    {
        requisit_f = fopen("requisit.txt","w");
        aux_r=requisit->prox;

        while(aux_r)
        {
            fprintf(requisit_f,"%d\n",aux_r->info.cod_livro);
            fprintf(requisit_f,"%d\n",aux_r->info.cod_utente);
            fprintf(requisit_f,"%d/%d/%d\n",aux_r->info.data_r.dia,aux_r->info.data_r.mes,aux_r->info.data_r.ano);

            aux_fila = aux_r->info.reserva.primeiro;
            while(aux_fila)
            {
                fprintf(requisit_f,"%d ",aux_fila->cod_utente);
                aux_fila = aux_fila->prox;
            }
            if(aux_r->prox!=NULL)
               fprintf(requisit_f,"0\n\n");
            else fprintf(requisit_f,"0");
            aux_r=aux_r->prox;
        }
        fclose(requisit_f);
    }
}