Автор работы: Пользователь скрыл имя, 04 Октября 2009 в 08:57, Не определен
описание применения
}
print_to_screen(nscr,fil,d,n)
{
int i,j,scr=0,kol=0,t;
long k,m;
struct IG
{
char proizv[20];
char tip[20];
char marka[20];
int hz;
int cena;
char socket[14];
}IG;
FILE *fp;
if(fil==0)
fp=fopen("temp.dat","rt");
else
fp=fopen("search.dat","rt");
fseek(fp,0,SEEK_SET);
k=ftell(fp);
fseek(fp,0,SEEK_END);
t=ftell(fp);
if(k!=t)
{
fseek(fp,0,SEEK_END);
k=ftell(fp);
fseek(fp,0,SEEK_SET);
for(scr=0;scr<=nscr;scr++)
{
do
{
for(j=7;j!=23;j=j+2)
{
if(d==1 && j==(n*2+7))
textbackground(
else textbackground(1);
fgets(IG.proizv,
fseek(fp,1,SEEK_
fgets(IG.tip,20,
fseek(fp,1,SEEK_
fgets(IG.marka,20,
fseek(fp,1,SEEK_
fscanf(fp,"%d", &IG.hz);
fseek(fp,1,SEEK_
fscanf(fp,"%d", &IG.cena);
fseek(fp,1,SEEK_
fgets(IG.socket,
fseek(fp,1,SEEK_
m=ftell(fp);
kol++;
if(kol>nscr*8 && kol<=(nscr+1)*8)
{
gotoxy(2,j);
cputs(IG.proizv);
gotoxy(16,j);
cputs(IG.tip);
gotoxy(26,j);
cputs(IG.marka);
gotoxy(36,j);
cprintf("%d",IG.
gotoxy(46,j);
cputs(IG.socket);
gotoxy(53,j);
cprintf("%d",IG.
}
if(m==k) break;
}
if(j==23) break;
}while((ftell(fp))!=k);
if(m==k) break;
}
gotoxy(80,25);
fclose(fp);
}
if(scr<nscr)
return(scr+1);
else
return(nscr);
}
window_filter()
{
draw_window(25,55,10,16,2);
gotoxy(37,11);
cprintf("Выборка");
gotoxy(30,12);
cprintf("Введите тип");
gotoxy(27,13);
cprintf("по которому провести выборку");
clean_row(26,55,14,5);
clean_row(28,40,15,3);
gotoxy(28,15);
cprintf(">Подтвердить<");
gotoxy(44,15);
clean_row(44,52,15,3);
gotoxy(44,15);
cprintf(">Отмена<");
gotoxy(80,25);
}
sort_info(m,n)
{
int key,min,tale,max,sort,rmax;
long k,l;
struct IG{
char proizv[20];
char tip[20];
char marka[20];
int hz;
char socket[10];
int cena;
} IG;
FILE *f_dat,*f_tmp;
f_dat=fopen("data.dat","rt");
f_tmp=fopen("temp.dat","wt");
fseek(f_dat,0,SEEK_SET);
k=ftell(f_dat);
fseek(f_dat,0,SEEK_END);
l=ftell(f_dat);
if(k!=l)
{
fseek(f_dat,0,SEEK_END);
k=ftell(f_dat);
fseek(f_dat,0,SEEK_SET);
fgets(IG.proizv,20,f_dat);
fseek(f_dat,1,SEEK_CUR);
fgets(IG.tip,20,f_dat);
fseek(f_dat,1,SEEK_CUR);
fgets(IG.marka,20,f_dat);
fseek(f_dat,1,SEEK_CUR);
fscanf(f_dat,"%d",&IG.hz);
fseek(f_dat,1,SEEK_CUR);
fscanf(f_dat,"%d",&IG.cena);
fseek(f_dat,1,SEEK_CUR);
fgets(IG.socket,10,f_dat);
fseek(f_dat,1,SEEK_CUR);
if(m==4 && n==1) tale=IG.hz;
else tale=IG.cena;
max=tale; min=tale;
fseek(f_dat,0,SEEK_SET);
do
{
fgets(IG.proizv,20,f_dat);
fseek(f_dat,1,SEEK_CUR);
fgets(IG.tip,20,f_dat);
fseek(f_dat,1,SEEK_CUR);
fgets(IG.marka,20,f_dat);
fseek(f_dat,1,SEEK_CUR);
fscanf(f_dat,"%d",&IG.hz);
fseek(f_dat,1,SEEK_CUR);
fscanf(f_dat,"%d",&IG.cena);
fseek(f_dat,1,SEEK_CUR);
fgets(IG.socket,10,f_dat);
fseek(f_dat,1,SEEK_CUR);
if(m==4 && n==1) tale=IG.hz;
else tale=IG.cena;
if(tale>max) max=tale; rmax=max;
if(tale<min) min=tale;
}while((l=ftell(f_dat))!
do
{
fseek(f_dat,0,SEEK_SET);
do
{
fgets(IG.proizv,20,f_dat);
fseek(f_dat,1,SEEK_CUR);
fgets(IG.tip,20,f_dat);
fseek(f_dat,1,SEEK_CUR);
fgets(IG.marka,20,f_dat);
fseek(f_dat,1,SEEK_CUR);
fscanf(f_dat,"%d",&IG.hz);
fseek(f_dat,1,SEEK_CUR);
fscanf(f_dat,"%d",&IG.cena);
fseek(f_dat,1,SEEK_CUR);
fgets(IG.socket,10,f_dat);
fseek(f_dat,1,SEEK_CUR);
if(m==4 && n==1) tale=IG.hz;
else tale=IG.cena;
if(tale==max)
{
fprintf(f_tmp,"%s %s %s %d %d %s
",IG.proizv,IG.tip,IG.marka,
}
}while(ftell(f_dat)!=k);
fseek(f_dat,0,SEEK_SET);
sort=min;
do
{
fgets(IG.proizv,20,f_dat);
fseek(f_dat,1,SEEK_CUR);
fgets(IG.tip,20,f_dat);
fseek(f_dat,1,SEEK_CUR);
fgets(IG.marka,20,f_dat);
fseek(f_dat,1,SEEK_CUR);
fscanf(f_dat,"%d",&IG.hz);
fseek(f_dat,1,SEEK_CUR);
fscanf(f_dat,"%d",&IG.cena);
fseek(f_dat,1,SEEK_CUR);
fgets(IG.socket,10,f_dat);
fseek(f_dat,1,SEEK_CUR);
if(m==4 && n==1) tale=IG.hz;
else tale=IG.cena;
if(tale<max && tale>sort) sort=tale;
}while(ftell(f_dat)!=k);
max=sort;
}while(sort!=min);
if(min!=rmax)
{
fseek(f_dat,0,SEEK_SET);
do
{
fgets(IG.proizv,20,f_dat);
fseek(f_dat,1,SEEK_CUR);
fgets(IG.tip,20,f_dat);
fseek(f_dat,1,SEEK_CUR);
fgets(IG.marka,20,f_dat);
fseek(f_dat,1,SEEK_CUR);
fscanf(f_dat,"%d",&IG.hz);
fseek(f_dat,1,SEEK_CUR);
fscanf(f_dat,"%d",&IG.cena);
fseek(f_dat,1,SEEK_CUR);
fgets(IG.socket,10,f_dat);
fseek(f_dat,1,SEEK_CUR);
if(m==4 && n==1) tale=IG.hz;
else tale=IG.cena;
if(tale==min)
{
fprintf(f_tmp,"%s
%s %s %d %d %s ",IG.proizv,IG.tip,IG.marka,
break;
}
}while(ftell(f_dat)!=k);
fclose(f_dat);
fclose(f_tmp);
}
}
}
sort_info_1()
{
int key;
char min[50]={""},max[50]={""},
long k,n;
struct IG{
char proizv[20];
char tip[20];
char marka[20];
int hz;
int cena;
char socket[10];
}IG;
FILE *f_dat,*f_tmp;
f_dat=fopen("data.dat","rt");
f_tmp=fopen("temp.dat","wt");
fseek(f_dat,0,SEEK_SET);
k=ftell(f_dat);
fseek(f_dat,0,SEEK_END);
n=ftell(f_dat);
if(k!=n)
{
fseek(f_dat,0,SEEK_END);
k=ftell(f_dat);
fseek(f_dat,0,SEEK_SET);
fgets(IG.proizv,20,f_dat);
fseek(f_dat,1,SEEK_CUR);
fgets(IG.tip,20,f_dat);
fseek(f_dat,1,SEEK_CUR);
fgets(IG.marka,20,f_dat);
fseek(f_dat,1,SEEK_CUR);
fscanf(f_dat,"%d",&IG.hz);
fseek(f_dat,1,SEEK_CUR);
fscanf(f_dat,"%d",&IG.cena);
fseek(f_dat,1,SEEK_CUR);
fgets(IG.socket,10,f_dat);
fseek(f_dat,1,SEEK_CUR);
strcpy(max,IG.marka); strcpy(min,IG.marka);
fseek(f_dat,0,SEEK_SET);
do
{
fgets(IG.proizv,20,f_dat);
fseek(f_dat,1,SEEK_CUR);
fgets(IG.tip,20,f_dat);
fseek(f_dat,1,SEEK_CUR);
fgets(IG.marka,20,f_dat);
fseek(f_dat,1,SEEK_CUR);
fscanf(f_dat,"%d",&IG.hz);
fseek(f_dat,1,SEEK_CUR);
fscanf(f_dat,"%d",&IG.cena);
fseek(f_dat,1,SEEK_CUR);
fgets(IG.socket,10,f_dat);
fseek(f_dat,1,SEEK_CUR);
if(strcmp(IG.marka,max)>0) strcpy(max,IG.marka);
if(strcmp(IG.marka,min)<0) strcpy(min,IG.marka); strcpy(rmin,min);
}while((n=ftell(f_dat))!
do
{
fseek(f_dat,0,SEEK_SET);
do
{
fgets(IG.proizv,20,f_dat);
fseek(f_dat,1,SEEK_CUR);
fgets(IG.tip,20,f_dat);
fseek(f_dat,1,SEEK_CUR);
fgets(IG.marka,20,f_dat);
fseek(f_dat,1,SEEK_CUR);
fscanf(f_dat,"%d",&IG.hz);
fseek(f_dat,1,SEEK_CUR);
Информация о работе Информационно поисковая система «Процессоры»