}
void del()// процедура видалення непотрібних записів
{
int j,i,s,k,no;
aviabase t[20],m;
FILE *st;
FILE *nt;
printf("Введите No записи для удаления: ");
scanf("%d",&no);// номер запису для видалення
st=fopen("aviabase.dat","r"); // відкриття файла aviabase.dat для читання
k=0;
while (!feof(st))
if (fread(&t[k],sizeof(t[k]),1,st)>0) k++;
for (i=0; i<k; i++)// зчитування інформації до масиву t
fread(&t[i],sizeof(t[i]),1,st);
fclose(st);
no=no-1;
nt=fopen("aviabase.dat","w");// відкриття фалу aviabase.dat для запису
for (i=0; i<no; i++)// запис першої частини (до удаляємого запису)
fwrite(&t[i],sizeof(t[i]),1,nt);
for (j=no+1; j<k; j++)// запис другої частини (після удаляємого запису)
fwrite(&t[j],sizeof(t[j]),1,nt);
fclose(nt);
}
void readtomas()// процедура зчитує інформацію з файла aviabase.dat і // записує її в масив d
{
FILE *ms;
ms=fopen("aviabase.dat","r");// відкриття файла aviabase.dat для читання
g=0;
while (!feof(ms))
if (fread(&d[g],sizeof(d[g]),1,ms)>0) g++;
for (int i=0; i<g; i++)// запис інформації до масиву
fread(&d[i],sizeof(d[i]),1,ms);
fclose(ms);
}
void sort_po_bn()// сортування по бортовому номеру
{
int f;
aviabase tmp;
do
{
f=1;
for (int j=0; j<g; j++)// метод “бульбашки”
if (d[j].bn<d[j+1].bn)
{
tmp=d[j];
d[j]=d[j+1];
d[j+1]=tmp;
f=0;
}
}
while (f==0);
printf("Результат сортировки: \n");
printf("Б/н | Тип | Вес | Подъемоспос. | Скорость | Дальность | Топливо | Экипаж \n");
for (int i=0; i<g; i++)// вивід результату
printf(" %d\t %s\t %d\t %d\t %d\t %d\t %d\t %d \n", d[i].bn,d[i].typ,d[i].ves,d[i].mpod,d[i].mspd,d[i].mdal,d[i].top,d[i].ecip);
printf(" Для продолжения нажмите любую кнопку ... ");
}