
Добавил:
Kolobok
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторные работы на Турбо С++ / LABORATORN / LAB11V15
.CPP/*‹ Ў®а в®а п а Ў®в 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