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(®istros, sizeof(t_reg), 1, archEnt); if(registros.saldo==0.0 || registros.estado!='B') //Condiciones para guardar en arbol { ponerEnArbol(&arbol,®istros,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(®,1,sizeof(reg),fp); while(!feof(fp)) { if(compararXfcomYstock(®,&dato)) actualizacionPrecio(&fp,®); if(!listaLlena(&lista)) insertarPorFechaVentaYdescripcion(&lista,®,compararXfcomYDescrp); fread(®,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); }