Есть ответ 👍

Язык программирования си! проверить можно на онлайн компиляторах типа "репл ит" нужна только вторая лаборатория 5 состоит из двух частей: • программирование текстового доступа к файлу; • программирование работы с бинарным доступом к файлу. для обеих программ необходимо подготовить исходные файлы: • для текстового файла — не менее 10 строк; • для двоичного файла — не менее 10 структур, которые соответствуют определенной опции. для работы с файлами должно быть разработано меню, элементы, которые реализуются только с функций. пункты меню должны быть следующими: создать новый файл; • открыть файл; • просмотр файла (листать вперед, назад, в конце файла, в начале файла); • коррекция файлов — долог, исправление, удаление данных; • сохранение файла; • сохранить файл • закройте файл. меню может быть дополнено дополнительными предметами, в зависимости от варианта. имена файлов должны водиться по запросу с клавиатуры. установка второй в дополнение к вышеперечисленным требованиям программа должна удовлетворять следующим условиям: 1. для записи структуры в файл и считывания структуры файла необходимо использовать функции fread () и fwrite 2. чтобы удалить и добавить элементы в файл, необходимо использовать arro вторичный файл. 3. запись не должны быть удалены из файла немедленно, но только помечены как удаленные. в окне просмотра необходимо отображать или активно записи или помечены как удаленные, но не оба типа записей в то же время. поле структуры — это статус записи — он может содержать 0 (активный знак записи) или 1 (удаленный знак записи). при создании файла в этом поле необходимо записать 0, а при удалении записи из файла 1. 4. там должна быть возможность восстановить удаленные записи из списка удаленных, но только до сжатого файла (см. ниже). 5. вы должны выполнить хранение файла данных в двух режимах —со сжатием и без сжатия. в первом случае, записи, помеченные как удаленные, выбрасываются, во втором случае файл записывает все записи, сохраняя их состояние. 6. файл данных должен быть реализован в двоичном режиме, т.е. записи должны храниться как образы в базовой памяти компьютера. 1 работа с текстовыми файлами (строка ввода-вывода) 1. скопируйте файл f2 строки из f1, которые не имеют те же слова. 2. определите количество гласных в первой строке файла f2. 2 работа с бинарными файлами (блочный ввод-вывод) 1. "владелец автомобиля": • фамилия, имя, отчество; • номер автомобиля; * телефон • номер телефона; • статус записи. 2. удалите предмет с заданным техническим номером паспорта. 3. добавьте два элемента после пункта с заданной фамилией.

276
284
Посмотреть ответы 2

Ответы на вопрос:


#include

#include

#include

#include

#include

#include

typedef struct

{

char imya[40];

char familiya[40];

char otchestvo[40];

int telefon;

int texpasport;

float pages ;

}gor;

void form(char mass[10], char *imya, char *familiya, char *otchestvo, int telefon, int texpasport)

{

file *f;

gor y;

int i;

if ((f=fopen(mass,"w"))==null) exit(1);

for (i=1; i< =3; i++)

{

cout< < "vvedite imya: ";

cin> > imya;

cout< < "vvedite familiya: ";

cin> > familiya;

cout< < "vvedite otchestvo: ";

cin> > otchestvo;

cout< < "vvedite telefon: ";

cin> > telefon;

cout< < "vvedite texpasport: ";

cin> > texpasport;

fwrite(& y,sizeof(gor),1,f);

if(ferror(f)! =null)

exit(2);

}

fclose(f);

}

void vivod(char mass[50])

{

file *f;

gor z;

if ((f=fopen(mass, "r"))==null) exit(3);

cout< < "fail: "<

while (! feof(f)) {

fread (& z,sizeof(gor),1,f);

if (! feof(f))

{

cout< < "imya: "<

cout< < "familiya: "<

cout< < "otchestvo: "<

cout< < "telefon: "<

cout< < "texpasport: "<

}

fclose(f);

}

}

void del(char fo[10], char fi[10])

{

file *f1,*f2;

gor d;

//char temp[40];

if ((f1=fopen(fi,"r"))==null) exit(4);

if ((f2=fopen(fo,"w"))==null) exit(5);

//cout < < "vvedite nazvanie na ydalenie - ";

//cin > > temp;

for (int i=0; i< 3; i++)

{

fread(& d,sizeof(gor),1,f1);

if (feof(f1)) break;

if (i> 2)

fwrite (& d,sizeof(gor),1,f2);

}

fclose(f2);

fclose(f1);

}

void dobav(char fi[10], char fo[10],char *imya, char *familiya, char *otchestvo, int telefon, int texpasport)

{

int q;

int i;

gor d;

file *f1,*f2;

char temp[40];

if ((f1=fopen(fi, "r"))==null) exit(4);

if ((f2=fopen(fo,"r+"))==null) exit(5);

cout < < "vvedite familiu, pered kotorym nuzno dobavit element: ";

cin > > temp;

for (i=0; i< 10; i++)

{

fread(& d,sizeof(gor),1,f2);

if (feof(f2)) break;

if (strcmp(d.familiya, temp)) break;

q=i;

}

for (i=0; i< 10; i++)

{

if (feof(f2)) break;

fwrite (& d,sizeof(gor),1,f2);

if (i==q-1)

{

cout< < "vvedite imya: ";

cin> > imya;

cout< < "vvedite familiya: ";

cin> > familiya;

cout< < "vvedite otchestvo: ";

cin> > otchestvo;

cout< < "vvedite telefon: ";

cin> > telefon;

cout< < "vvedite texpasport: ";

cin> > texpasport;

cout <

}

}

fclose(f2);

fclose(f1);

}

void main()

{

int n=10;

//cout < < "vvedite kol-vo zapisey: - ";

//cin> > n;

//cout <

form("f1.txt",n);

vivod("f1.txt");

del("f1.txt","f2.txt");

cout < < "posle udalenia: \n";

vivod("f2.txt");

getch();

n=1;

system("cls");

dobav ("f2.txt","f2.txt");

cout < < "posle dobavlenia: \n";

vivod ("f2.txt");

getch();

}


Ввод заголовков: < title> форматирование шрифта: < b> , < i> ,< strike> , < size> , < color> абзацы: < p> ,

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS