void search()
{
ITEM *CurrNODE=head->first, *current, *PrevNODE;
int y=1, n=0, f=1, l, key, sel=1, i, in=1, r;
char str[100];
fflush(stdin);
gets(str);
while(CurrNODE!=NULL)
{
if(strcmp(CurrNODE->surname, str)==0)
{
n++;
}
CurrNODE=CurrNODE->next;
}
l=(n<=21?n:21);
for(;;)
{
bg();
l=(n<=21?n:21);
for(y=1, in=1, CurrNODE=head->first; CurrNODE!=NULL; CurrNODE=CurrNODE->next)
{
if(in>=f && in<=l)
{
if(strcmp(CurrNODE->surname, str)==0)
{
window(2,(y+2),78,(y+2));
textbackground(sel!=y?BLUE:MAGENTA);
textcolor(WHITE);
clrscr();
cprintf("%d. ", CurrNODE->id);
cprintf("%d ", CurrNODE->recipe);
cputs(CurrNODE->surname);
cprintf("%d - %d ", CurrNODE->cost, CurrNODE->paid);
cputs(CurrNODE->drug_form);
//cprintf("%f ", CurrNODE->rec_numb);
cprintf(" ");
cputs(CurrNODE->day);
y++;
in++;
}
}
}
key=getch();
if(key!=0)
{
if(key==27)//ESC
{
break;
}
else
{
if(key==13)
{
current=head->first;
for(i=1, r=0, current=head->first;r!=((f+sel)-1);current=current->next, i++)
{
if(strcmp(current->surname, str)==0)
r++;
}
edit((i-1), sel);
}
else
{
continue;
}
}
}
else
{
key=getch();
if(key==72)//up
{
if(sel>1)
{
sel--;
}
else
{
if(f>1 && sel==1)
{
f--;
l--;
}
}
}
else
{
if(key==80) //down
{
if(sel<21 && sel!=n)
{
sel++;
}
else
{
if(l<n && sel==21)
{
f++;
l++;
}
}
}
else
{
if(key==83)//delete
{
current=head->first;
for(i=1, r=0, current=head->first;r!=((f+sel)-1);current=current->next, i++)
{
if(strcmp(current->surname, str)==0)
r++;
}
delete((i-1));
n--;
if(sel>n)
sel=n;
if(l>n)
l=n;
}
else
{
continue;
}
}
}
}
}
}