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);

}

Висновок

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


 

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

24565. Подходы к завершению и разрешению социально-психологических конфликтов 52.5 KB
  СПК это наиболее осознаваемые челом и максимально зависящие от него конфликты основные субъективные конфликты инициируемые сторонами ради достижения своих целей. Решить такие кты достаточно трудно и требует желания работы с обеих сторон. Завершение кта это отсутствие его внешнего проявления которое может выражаться в победе 1 из сторон достижение взаимоприемлемого решения сторонами достижение компромисса полное прекращение взаимодействия утрата объекта или интереса к нему изменение отношений мду сторонами и т. Решение кта ...
24566. Методы изучения отклоняющегося поведения 66.5 KB
  ОП девиантное ДП это поведение личности или группы противоречащее наиболее важным социальным нормам принятым в конкретное время в конкретном обществе. соц. Зимбарда Стенфордский тюремный экспт формы агрессивного поведя вынуждаются ситуацией соц. и особтях ее соц.
24567. Особенности работы с девиантным поведением 78.5 KB
  личности или группы противоречащее наиболее важным социальным нормам принятым в конкретное время в конкретном обществе. соц. Методы работы и воздя на личность с ДП: соц. контроль и соц.
24568. Арттерапии и ее применение в психологической практике 70 KB
  Особенности АТ процесса: это открытая динамическая живая сма кот состоит из клиента продукта творчества психолог внутр механизм для достижения результатов находится в самом процессе творчества. эмоциям гармонизация внутр состя устранение или ослабление имеющихся у больных симптомов связ с психич. Коррекционные возможности АТ: развитие и усиление внимания к своим чувствам и переживаниям что повышает самооценку; сам процесс твва дающий возмть свободно вырть свои чувва потрти и фантазии в виде продуктов твва и являющегося...
24569. Психологические аспекты планирования карьеры сотрудников в организации 68.5 KB
  ; род занятий профессия; последть и комбинация ролей кот. Карьерные установки это то что личность стремиться достичь в проф. Организация конся по вопросам карьеры: Проф. выбора профессии все методики проф ориент.
24570. Обработка металлов давление в металлургическом производстве 264 KB
  В промышленности и сельском хозяйстве изложение технологии описывается в документах, именуемых операционная карта технологического процесса (при подробном описании) или маршрутная карта (при кратком описании). В сценическом искусстве технология исполнения спектаклей, пьес, съёмки кинофильмов
24571. Профилактика наркозависимости и аддиктивного поведения средствами групповой психокоррекции 60.5 KB
  Зависимость состояние периодической или хронической интоксикации вызываемое повторным употреблением психоактивного вещества разделяемой на психическую и физическую зависимость. Психическая зависимость характеризуется овладевающим желанием или неодолимым влечением к употреблению психоактивного вещества тенденцией к увеличению его дозы для достижения желаемого эффекта и возникновением вызванных употреблением индивидуальных и социальных проблем разрешаемых через повторное употребление; отнятие вещества вызывает психический дискомфорт и...
24572. Групповая динамика как базовый элемент психотехнологии работы с группой 54.5 KB
  Групповая динамика это совокупность групповых действий и интеракций возникающих в результате взаимоотношений и взаимодействий членов группы их деятельности и влияния членов на окружение и представляет собой развитие или движение группы во времени. Важной общей чертой тренингов является их стадиальность обусловленная социальнопсихологическими закономерностями развития малой группы. Стадии развития группы: 1. Знакомство участников группы друг с другом и тренером.
24573. Концепции, направления и формы основных практик групповой работы 57.5 KB
  В Тгруппах акцентируются на анализе развития группы что происходит в группе когда она проходит стадии своего развития. Условия формирования сильного Взрослого: изучение своего Ребенка его страхов; изучение своего Родителя его требований установок; изучение Ребенка своего партнера; откладывать свои импульсивные реакции. Дают возмть учкам обратить внимание на течение своего непосредственного опыта побуждают опознать и принять ранее игнорируемые аспекты самости. Включает в себя: инициацию действия максимальное преувеличение...