/** * get minimum price associated product form inputbuffers */ Product getMinProduct(InputBuffer * head) { Product product; if (head==NULL||head->next==NULL) { product.price=-1; return product; } InputBuffer * p=head->next; InputBuffer * q=p; float minPrice=p->data[p->currentIndex].price; while (p!=NULL) { float price=p->data[p->currentIndex].price; if (minPrice>price) { q=p; minPrice=price; } p=p->next; } product.setId(q->data[q->currentIndex]); product.price=minPrice; product.setName(); q->currentIndex++; if (q->currentIndex>=q->count) //retrieve data { if(readDataToInputBuffer(q->infile, q->count, q->data)) { q->currentIndex=0; } else // file is readed completely { deleteInputBufferFromInpuBuffers(head, q); } } return product; }