Загрузка...

Отпишите кто шарит в языке Си , нужно написать небольшой код за копеечку

Тема в разделе C/C++ создана пользователем Свят_неактив503873 8 дек 2021. 197 просмотров

  1. Свят_неактив503873
    Свят_неактив503873 Автор темы 8 дек 2021 sy k A 139 19 июл 2018
    В заголовке
     
  2. brediska
    brediska 8 дек 2021 Заблокирован(а) 2794 30 май 2021
    скидывай сюда задание
     
    1. Свят_неактив503873 Автор темы
  3. Свят_неактив503873
    Свят_неактив503873 Автор темы 8 дек 2021 sy k A 139 19 июл 2018
    Запись имеет вид: название команды, количество набранных очков, фамилии капитанов. Вывести на печать список в порядке набранных мест
    В коде есть ошибка с переменной 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) // Вывод списка
    --- Сообщение объединено с предыдущим 8 дек 2021
    150 рексиков выделю на данную операцию
     
Top
Загрузка...