37666

Файли. Обробка файлів

Лабораторная работа

Информатика, кибернетика и программирование

Організувати послідовний файл на диску. Блок організації файла оформити окремою процедурою. Роботу бази організувати в діалоговому режимі. Окремими процедурами здійснити: редагування вибраного запису, тобто зміни запису за вибором; пошук за індексом запису в базі даних і виведення інформації про його наявність;

Украинкский

2013-09-25

449.25 KB

3 чел.

Міністерство освіти і науки, молоді та спорту України

Хмельницький національний університет

Кафедра системного програмування

ЛАБОРАТОРНА РОБОТА №6

з програмування

Файли. Обробка файлів

Студент групи КІ-10-1      _______   ___________   Ноль М.Г.

Керівник                             _______   ___________   Медзатий Д.М.

Хмельницький

2011

Лабораторна робота №6

Тема: Файли. Обробка файлів.

Мета: навчитись використовувати файли для обробки даних на мові програмування С.

Завдання

Організувати послідовний файл на диску. Блок організації файла оформити окремою процедурою. Роботу бази організувати в діалоговому режимі. Окремими процедурами здійснити:

- редагування вибраного запису, тобто зміни запису за вибором;

- пошук за індексом запису в базі даних і виведення інформації про його наявність;

- виведення всіх записів БД;

- додавання записів в кінець БД;

- видалення вибраної інформації з БД.

Програма

#include <stdio.h>

#include <string.h>

typedef struct {char PIB[20],gr[20],z[20],tz[20];} user;

char a[20];

user in_s() //ввести запис

{user s;

printf("Введіть ПІБ: "), gets(s.PIB);

printf("Введіть групу: "), gets(s.gr);

printf("Введіть обліковий запис: "), gets(s.z);

printf("Введіть тип облікового запису: "), gets(s.tz);

printf("\n");

return s;

}

void out_s(user s) //вивести запис на екран

{printf("\nПІБ: "), puts(s.PIB);

printf("Група: "), puts(s.gr);

printf("Обліковий запис: "), puts(s.z);

printf("Тип облікового запису: "), puts(s.tz);

}

void input() //створити або вибрати файл з записами

{

printf("Введіть назву файла (без розширення): "); scanf("%s",&a); strcat(a,".txt"); puts(a);

FILE *f;  

if ((f=fopen(a,"r+"))==NULL)

   {      f=fopen(a,"w+");

   int n,i;

   user s;

   do printf("Введіть кількість записів: "), scanf("%d",&n);

while (n<=0 || n>10);

   for (i=0;i<n;i++) s=in_s(), fwrite(&s,sizeof(s),1,f);

   }

fclose(f);

}

void print_all() //вивести всі записи

{

user s;

FILE *f=fopen(a,"r");

fread(&s,sizeof(s),1,f);

while (!feof(f)) out_s(s), fread(&s,sizeof(s),1,f);

fclose(f);

}

void redag() //редагувати вибраний запис

{

int i=0,n; user s;

FILE *f=fopen(a,"r");

while (!feof(f)) fread(&s,sizeof(s),1,f),i++; --i; fclose(f);

do printf("Введіть номер запису: "), scanf("%d",&n); while (n<0 || n>i);

f=fopen(a,"r+");

for (i=0;i<n-1;i++) fread(&s,sizeof(s),1,f);

s=in_s(); fwrite(&s,sizeof(s),1,f);

fclose(f);

}

void seek() //знайти і вивести на екран шуканий запис

{

int i=0,n;

user s;

FILE *f=fopen(a,"r");

while (!feof(f)) fread(&s,sizeof(s),1,f),i++; --i; fclose(f);

do printf("Введіть номер запису: "), scanf("%d",&n); while (n<0 || n>i);

f=fopen(a,"r");

for (i=0;i<n;i++) fread(&s,sizeof(s),1,f);

out_s(s);

fclose(f);

}  

 

void add() //додати в кінець новий запис

{

user s=in_s();

FILE *f=fopen(a,"a");

fwrite(&s,sizeof(s),1,f);

fclose(f);

}

void delete() //видалити обраний запис

{

int i=0,k,n;

user s;

FILE *f=fopen(a,"r");

while (!feof(f)) fread(&s,sizeof(s),1,f),i++; --i;

fclose(f);

do printf("Введіть номер запису: "), scanf("%d",&n); while (n<0 || n>i);

FILE *ft=fopen("temp.txt","w"); f=fopen(a,"r");

for (k=0;k<i;k++) fread(&s,sizeof(s),1,f), fwrite(&s,sizeof(s),1,ft);

fclose(f); fclose(ft);

f=fopen(a,"w"); ft=fopen("temp.txt","r");

for (k=0;k<i;k++) {fread(&s,sizeof(s),1,ft); if (k!=n-1) fwrite(&s,sizeof(s),1,f);};

fclose(f); fclose(ft);

}

int choice() //вибір виконуваної операції користувачем

{

int n;

printf("Оберіть потрібну дію:\n\t1 - створити новий файл з записами;\n\t2 - вивести всі записи; \n\t3 - редагувати обраний запис; \n\t4 - знайти і вивести шуканий елемент;\n\t5 - додати новий елемент в кінець файла; \n\t6 - видалити обраний елемент; \n\t0 - вийти з програми\n\n");

do scanf("%d",&n); while (n<0 || n>6);

if (n==1) input(); else

if (n==2) print_all(); else

if (n==3) redag(); else

if (n==4) seek(); else

if (n==5) add(); else

if (n==6) delete();

return n;

}  

void main()

{

int n;  

do n=choice(); while (n!=0);

}

Висновок

Виконавши лабораторну роботу, я навчився працювати з файлами послідовного доступу в мові програмування С, а також закріпив навички щодо створення структур та записів.


 

А также другие работы, которые могут Вас заинтересовать

22499. Использование дидактических игр на уроках у учащихся младших классов 134 KB
  Значение использования игр в младшем школьном возрасте велико и потому, что в процессе игровой деятельности наряду с умственным развитием осуществляется физическое, эстетическое, нравственное воспитание. Выполняя правила игры, ребята приучаются сдерживаться, контролировать свое поведение
22500. Особливості особистості та сімейної соціалізації адоптованих, дезадоптованих студентів 265.5 KB
  Определить степень адаптированности (дезадаптированности) студентов-первокурсников. Выявить основные стили родительского семейного воспитания у первокурсников с низким и высоким уровнем адаптации. Выявить различия в уровнях личностной и ситуативной тревожности у адаптивных (дезадаптивных) студентов.
22501. ЛИЧНОСТНЫЕ ОСНОВЫ ПОВЕДЕНИЯ ЧЕЛОВЕКА В ОРГАНИЗАЦИОННОМ ОКРУЖЕНИИ 375.8 KB
  Их различия проявляются во всем многообразии характеристик человека. Это разнообразие делает человека человеком а не машиной. И это же разнообразие порождает трудности в управлении организацией проблемы и конфликты во взаимодействии человека с организационным окружением.
22502. ИНДИВИД И ГРУППА 232.2 KB
  Он не только исполнитель роли в организации но и член группы в рамках которой он действует. А поведение человека его действия вносят определенный вклад в жизнь группы. Понятие группы Не существует канонизированного определения малой группы так как это достаточно гибкое и подверженное влиянию обстоятельств явление. Взаимодействие членов группы базируется на некоем общем интересе и может быть связано с достижением общей цели.
22503. АДАПТАЦИЯ И ИЗМЕНЕНИЕ ПОВЕДЕНИЯ ЧЕЛОВЕКА 235.32 KB
  У человека как бы имеется две степени свободы в построении своего поведения в организации. С одной стороны он обладает свободой в выборе форм поведения: принимать или не принимать существующие в организации формы и нормы поведения с другой он может принимать или не принимать ценности организации разделять или не разделять ее цели и философию. В зависимости от того в какой комбинации сочетаются эти основополагающие составляющие основы поведения может быть выделено четыре предельных типа поведения человека в организации рис.
22504. ЧТО ТАКОЕ СТРАТЕГИЧЕСКОЕ УПРАВЛЕНИЕ 343.32 KB
  Сущность стратегического управления Было бы наверно считать что еще 2030 лет назад фирмы совершенно не имели стратегического поведения. Разработка идей стратегического управления нашла отражение в работах таких авторов как Fannhofs и Granger 1971; Schendel и Hatten 1972; Irwin 1974; и др. В качестве ведущей идеи отражающей сущность перехода к стратегическому управлению от оперативного управления явилась идея необходимости переноса центра внимания высшего руководства на окружение для того чтобы соответствующим образом и своевременно...
22505. АНАЛИЗ СРЕДЫ 354.03 KB
  Внутренняя среда организации является источником ее жизненной силы. Она заключает в себе тот потенциал который дает возможность организации функционировать а следовательно существовать и выживать в определенном промежутке времени. Но внутренняя среда может также быть и источником проблем и даже гибели организации в том случае если она не обеспечивает необходимого функционирования организации. И на них претендуют многие другие организации находящиеся в этой же среде.
22506. ОПРЕДЕЛЕНИЕ МИССИИ И ЦЕЛЕЙ ОРГАНИЗАЦИИ 219.47 KB
  Но целевое начало в деятельности организации возникает отнюдь не только потому что ей нужно иметь ориентиры чтобы не погибнуть в изменяющемся окружении. В первую очередь целевое начало в деятельности организации возникает потому что организация это объединение людей преследующих определенные цели. Люди создают организации для того чтобы с их помощью решать свои проблемы.
22507. ЧТО ТАКОЕ СТРАТЕГИЯ ФИРМЫ И КАК ОНА ВЫРАБАТЫВАЕТСЯ 494.62 KB
  Сущность стратегии организации . Выбор стратегии и ее реализация составляют основную часть содержания стратегического управления. Существуют два противоположных взгляда на понимание стратегии. Первое понимание стратегии базируется на следующем процессе.