Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
10
Добавлен:
25.05.2014
Размер:
3.3 Кб
Скачать
/*‹ Ў®а в®а­ п а Ў®в  11
€б Ґў ‚Ёв «Ё© ‚ЁЄв®а®ўЁз
ѓагЇЇ  ‡‚‘11 ў аЁ ­в ь15*/
//ђ Ў®в  б д ©« ¬Ё
#include <conio.h>  //Џ®¤Є«оз Ґ¬ ¬®¤г«м нЄа ­ 
#include <fstream.h> //Њ®¤г«м ўў®¤  ўўлў®¤  Ї®в®Є®ў
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
//ЋЇЁблў Ґ¬ бвагЄвгаг
struct NOTEBOOK {
	struct disp_res{//ђ §аҐи ой п бЇ®б®Ў­®бвм ¤ЁбЇ«Ґп
		int x; //Џ® е Ј®аЁ§®­в «Ё
		int y; //Џ® y ўҐавЁЄ «Ё
			};
		int f;  //— бв®в  ॣҐ­Ёа жЁЁ
		float d;//ђ §¬Ґа ¤Ё Ј®­ «Ё ¤ЁбЇ«Ґп
		int price; //–Ґ­  Ё§¤Ґ«Ёп
		char model[21];//Ќ Ё¬Ґ­®ў ­ЁҐ в®ў а 
		};

struct copstr {float m;	};
void ldstr(int* kz,NOTEBOOK ntk[16],NOTEBOOK::disp_res des[16],
		copstr cpt[16]){
	fstream f;
	 f.open("TXTLAB11.TXT",ios::in);
	  char p[255];
	   int i=0;
	    int l=0;
	     char pp[5];
	      while (!f.eof()) {
	       f.getline(p,255);
		for (i=0;i<20;i++) ntk[l].model[i]=p[i];
		ntk[l].model[i]='\x0';
	pp[0]=p[20];pp[1]=p[21];pp[2]=p[22];pp[3]=p[23];pp[4]='\x0';
	 ntk[l].price=atol(pp);
	pp[0]=p[51];pp[1]=p[52];pp[2]=p[53];pp[3]=p[54];pp[4]='\x0';
	 ntk[l].d=atof(pp);
	pp[0]=p[59];pp[1]=p[60];pp[2]=p[61];pp[3]=p[62];pp[4]='\x0';
	 des[l].x=atol(pp);
	pp[0]=p[64];pp[1]=p[65];pp[2]=p[66];pp[3]=p[67];pp[4]='\x0';
	 des[l].y=atol(pp);
	pp[0]=p[69];pp[1]=p[70];pp[2]='\x0';
	ntk[l].f=atol(pp);
	pp[0]=p[25];pp[1]=p[26];pp[2]=p[27];pp[3]='\x0';
	cpt[l].m=atof(pp);
	 l++;
	}
	f.close();
	*kz=l-1;
}//End ldstr
//--------------------------------------‡ ЇЁбм бвагЄвгал----------------------
void svstr(int *zp,int *fg,int *kz,NOTEBOOK ntk[16],NOTEBOOK::disp_res des[16]){
	fstream f;
	 f.open("TXTLAB11.dat",ios::out|ios::app|ios::binary|ios::ate);
	  if (*fg==1) {f.write((const unsigned char*) kz,2); }
	   else   { f.seekg(ios::end);
		f.write((const unsigned char*) ntk[*zp].model,21);
		 f.write((const unsigned char*) ntk[*zp].price,2);
		   f.write ((const unsigned char*) &ntk[*zp].d,2);
		     f.write ((const unsigned char*) des[*zp].x,2);
		      f.write ((const unsigned char*) des[*zp].y,2);
		       f.write ((const unsigned char*) ntk[*zp].f,1);
				}
f.close();
}//End svstr
//-------------------------------------------------------------------------
//Start
void main(){
 int kz=0;//®ЇаҐ¤Ґ«Ґ­­ п § ЇЁбм
  int fg=0;//д« Ј § ЇЁбЁ Ў ©в  Ё«Ё бвагЄвгал
   int zp=0;//Є®««ЁзҐбвў® § ЇЁбҐ©
    clrscr();
     copstr cpt[16],ctmp;
      NOTEBOOK ntk[16],temp;
       NOTEBOOK::disp_res dis[16],dtemp;
//‚л§лў Ґ¬ дг­ЄжЁо § Јаг§ЄЁ ў бвагЄвгаг
 ldstr(&kz,ntk,dis,cpt);
//--------------------б®авЁа®ўЄ  § ЇЁбҐ© Ї® 業Ґ---------------------------
   for (int i=0;i<kz;i++){
    for (int l=0;l<kz;l++){
	if (ntk[i].price<ntk[l].price){
	 temp=ntk[i];
	  ntk[i]=ntk[l];
	   ntk[l]=temp;
	    dtemp=dis[i];
	     dis[i]=dis[l];
	      dis[l]=dtemp;
	       ctmp=cpt[i];
		cpt[i]=cpt[l];
		 cpt[l]=ctmp;
		    }
    }
   }
 int  l=0;
for (i=0;i<kz;i++) if (cpt[i].m<7) l++;//ЋЇаҐ¤Ґ«пҐ¬ Є®««ЁзҐбвў® § ЇЁбҐ©
//ўҐб Є®в®але ¬Ґ­ҐҐ 7 ЄЈ.
//-------------------------------------------------------------------------
//”г­ЄжЁп § ЇЁбЁ ў ЎЁ­ а­л© д ©«
fg=1;//‡ ЇЁбм зЁ«  § ЇЁбҐ©
 svstr(&zp,&fg,&l,ntk,dis);
  fg=0;//‡ ЇЁбм бвагЄвгал
 for (i=0;i<kz;i++){
  if (cpt[i].m<7) {zp=i;svstr(&zp,&fg,&kz,ntk,dis);}
   }
}//The End.
Соседние файлы в папке LABORATORN