Информационно поисковая система «Процессоры»

Автор работы: Пользователь скрыл имя, 04 Октября 2009 в 08:57, Не определен

Описание работы

описание применения

Файлы: 4 файла

Описание применения.doc

— 33.00 Кб (Просмотреть файл, Скачать файл)

Пояснялка1.doc

— 592.50 Кб (Просмотреть файл, Скачать файл)

Программа.doc

— 109.00 Кб (Скачать файл)

} 

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(RED);

            else textbackground(1);

            fgets(IG.proizv,20,fp);

            fseek(fp,1,SEEK_CUR);

            fgets(IG.tip,20,fp);

            fseek(fp,1,SEEK_CUR);

            fgets(IG.marka,20,fp);

            fseek(fp,1,SEEK_CUR);

            fscanf(fp,"%d", &IG.hz);

            fseek(fp,1,SEEK_CUR);

            fscanf(fp,"%d", &IG.cena);

            fseek(fp,1,SEEK_CUR);

            fgets(IG.socket,10,fp);

            fseek(fp,1,SEEK_CUR);

            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.hz);

            gotoxy(46,j);

            cputs(IG.socket);

            gotoxy(53,j);

            cprintf("%d",IG.cena);

            }

            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))!=k);

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,IG.hz,IG.cena,IG.socket);

            }

       }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,IG.hz,IG.cena,IG.socket);

      break;

             }

        }while(ftell(f_dat)!=k);

fclose(f_dat);

fclose(f_tmp);

  }

}

} 

sort_info_1()

{

int key;

char min[50]={""},max[50]={""},sort[50]={""},rmin[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))!=k);

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);

ФИНАЛ.C

— 33.06 Кб (Скачать файл)

Информация о работе Информационно поисковая система «Процессоры»