int main()
{
    FILE *archEnt, *archSal = fopen("SALIDA.txt","wt");
    t_arbol arbol;
    int linea=1;
    t_reg registros;
    crearBinario();
    crearArbol(&arbol);
    if(abrirArchivo(&archEnt, n_arch, "r+b", CON_MSJ))
        mostrarArchivo(archEnt);

    while(!feof(archEnt))
    {
        fread(&registros, sizeof(t_reg), 1, archEnt);
    	if(registros.saldo==0.0 || registros.estado!='B') //Condiciones para guardar en arbol
    	{
    		ponerEnArbol(&arbol,&registros,linea);
            actualizarEstado(archEnt, registros);
    	}
    	linea++;
    }
    if(abrirArchivo(&archEnt, n_arch, "r+b", CON_MSJ))
        mostrarArchivo(archEnt);

    enOrden(&arbol, archSal);
    fclose(archSal);
    fclose(archEnt);
    return 0;
}
int main()
{
    FILE *fp;
    Lista lista;
    tInfo reg;
    datos dato;
    char prov[26];
    printf("\t\t\t\t\tEJEMPLO DE PARCIAL\n\n");
    printf("\t\t\t\t\tIngrese fecha y cantidad minima a evaluar\n");

    if(!abrirArchivo(&fp,ARCHPROD,"r+b",!CON_SIN_MSJ))
    {
        crearArchivo(&fp);
        if(!abrirArchivo(&fp,ARCHPROD,"r+b",CON_SIN_MSJ))
            return 0;
    }
    crearLista(&lista);
    do
    {
        printf("Fecha: ");
        fflush(stdin);
        scanf("%d/%d/%d",&dato.fcom.dia,&dato.fcom.mes,&dato.fcom.anio);
    }while(!fechaValida(&dato.fcom));

    printf("\nCantidad minima: ");
    scanf("%d",&dato.stockMin);

    fread(&reg,1,sizeof(reg),fp);
    while(!feof(fp))
    {
        if(compararXfcomYstock(&reg,&dato))
            actualizacionPrecio(&fp,&reg);
        if(!listaLlena(&lista))
            insertarPorFechaVentaYdescripcion(&lista,&reg,compararXfcomYDescrp);

        fread(&reg,1,sizeof(reg),fp);
    }
    system("cls");
    mostrarArchivo(&fp);
    fclose(fp);
    printf("\t\t\t\t\nIngrese el proveedor a eliminar de la lista: ");
    fflush(stdin);
    gets(prov);
    eliminarDeLista(&lista,prov);
    vaciarLista(&lista);

    return 0;
}
//**********MAIN**********//
void main()
{
    FILE* pf;
    t_cola cola;
    t_pila pila;
    t_lista lista;
    t_pedido ped;
    t_producto prod;
    int cont=1;

    abrirArchivo(&pf,"r+b");
    mostrarArchivo(pf);

    crearCola(&cola);
    crearPila(&pila);
    crearLista(&lista);
    printf("\nACOLAR\n");
    printf("\nIngrese numero de cliente: ");
    scanf("%d",&ped.nCliente);
    while(ped.nCliente!=0)
    {
        printf("Ingrese codigo de producto: ");
        scanf("%d",&ped.cod);
        printf("Ingrese cantidad pedida: ");
        scanf("%d",&ped.cant);
        acolar(&cola,&ped);
        printf("\nIngrese numero de cliente: ");
        scanf("%d",&ped.nCliente);
    }

    while(desacolar(&cola,&ped))
    {
        printf("\nCliente: %d\nProducto: %d\nCantidad: %d unidades\n",ped.nCliente,ped.cod,ped.cant);
        fseek(pf,0,0);
        fread(&prod,sizeof(t_producto),1,pf);
        while(!feof(pf))
        {
            if(ped.cod==prod.codPr)
            {

                if((prod.cantStock-ped.cant)>=prod.minStock)
                {
                    printf("\nPedido del cliente %d.Fue realizado exitosamente.\n",ped.nCliente);
                    prod.cantStock-=ped.cant;
                    fseek(pf,-sizeof(t_producto),1);
                    fwrite(&prod,sizeof(t_producto),1,pf);
                    fseek(pf,0,1);
                }
                else
                {
                    if((prod.cantStock-ped.cant)>=0)
                    {
                        printf("\nPedido del cliente %d.Fue realizado, stock por debajo del minimo necesario.\n",ped.nCliente);
                        prod.cantStock-=ped.cant;
                        fseek(pf,-sizeof(t_producto),1);
                        fwrite(&prod,sizeof(t_producto),1,pf);
                        fseek(pf,0,1);
                        apilar(&pila,&prod);
                    }
                    else
                    {
                        printf("\nPedido del cliente %d.No tenemos el suficiente stock para afrontar la venta.\n",ped.nCliente);
                        ponerEnLista(&lista,&ped);
                    }
                }
            }
            fread(&prod,sizeof(t_producto),1,pf);
        }
    }
    printf("\nARCHIVO ACTUALIZADO\n");
    fseek(pf,0,0);
    mostrarArchivo(pf);
    fclose(pf);
}