Запись имеет вид: название команды, количество набранных очков, фамилии капитанов. Вывести на печать список в порядке набранных мест В коде есть ошибка с переменной cap , не дает написать имя . Сама задача в том , чтобы дописать сортировку в конец #include <stdio.h> #include <conio.h> #include <string.h> #include <locale.h> struct tov { char name[10]; char cap; int kol; } t1; void input(FILE **); // создание нового файла void print(FILE **); // просмотр файла void app(FILE **); // добавление в файл void sort(FILE **); // Вывод списка void bay(FILE **); int main() { setlocale(LC_ALL, ""); // ВКЛЮЧАЕМ РУССКИЙ char c; FILE *tf; while (1) { puts(" 1 – Новый файл"); puts(" 2 – Просмотр файла"); puts(" 3 – Добавление в файл"); puts(" 4 – Сортировка"); puts(" 0 - Выход"); c=getch(); switch(c) { case '1':input(&tf);break; case '2':print(&tf);break; case '3':app(&tf);break; case '4':sort(&tf);break; case '0':return 0; default : puts(" неверный режим"); } } } void input(FILE **tf) // СОЗДАНИЕ НОВОГО ФАЙЛА { char ch; *tf=fopen("file1.dat","wb"); // открытие бинарного файла для записи printf("\n Ввод данных:\n"); do { printf("\n Навание команды: "); scanf("%s",&t1.name); printf(" Фамилия капитана: "); scanf("%f",&t1.cap); printf(" Количество очков: "); scanf("%d",&t1.kol); fwrite(&t1,sizeof(t1),1,*tf); // запись в файл одной структуры t1 printf("\n Закончить? y/n "); ch=getch(); printf("\n"); } while (ch != 'y'); fclose(*tf); getchar(); } void print(FILE **tf) // ПРОСМОТР ФАЙЛА { int i; *tf=fopen("file1.dat","rb"); // открытие бинарного файла для чтения i=1; fread(&t1,sizeof(t1),1,*tf); // чтение из файла одной структуры t1 while (!feof(*tf)) { printf("\n %d Название: %10s Фамилия каитана: %6.2f Кол-во очков: %d \n",i,t1.name,t1.cap,t1.kol); fread(&t1,sizeof(t1),1,*tf); i++; } fclose(*tf); } void app(FILE **tf) // ДОБАВЛЕНИЕ НОВОЙ ЗАПИСИ { char ch; *tf=fopen("file1.dat","ab"); // открытие бинарного файла для добавления printf("\n Ввод данных : \n"); do { printf("\n Название команды: "); scanf("%s",&t1.name); printf(" Фамилия капитана: "); scanf("%f",&t1.cap); printf(" Количество очков: "); scanf("%d",&t1.kol); fwrite(&t1,sizeof(t1),1,*tf); printf(" Закончить? y/n "); ch=getch(); printf("\n"); } while (ch != 'y'); fclose(*tf); getchar(); } void sort(FILE **tf) // Вывод списка The post was merged to previous Dec 8, 2021 150 рексиков выделю на данную операцию