У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент



Лабораторна робота - Файли
2



МIНIСТЕРСТВО ОСВIТИ І НАУКИ УКРАЇНИ

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

Тема: “Файли”

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

Завдання: сформувати файл, що містить інформацію про книги за таким зразком: прізвище автора, назва, рік видання. Використовуючи сформований файл, знайти назви книг даного автора, рік видання. Прізвище автора ввести з клавіатури.

Теоретичні відомості: Файлом називається будь-яка iнформацiя, записана в зовнiшню (магнiтну) пам'ять. Обмiн даними мiж оперативною та магнiтною пам'яттю вiдбувається через спецiально вiдведену для цього частину оперативноє пам'ятi, яка називається буферною.

При використаннi файлiв обов'язковими атрибутами програми є: оголошення, функцiї вiдкриття та закриття файлу, а також функцiї вводу-виводу. Оголошення файлiв виконується так:

FILE *f1,*f2,...,*fn;

Тут *f1,...,*fn -вказувачi на файли, одночасно можна оголосити n файлiв. Кожному файлу вiдповiдає свiй вказувач, ця вiдповiднiсть встановлюється в момент вiдкриття файлiв.

Для роботи з файлами були використані такі функції.

f1=FOPEN("iф","тип"); - вiдкриття файлу з iменем iф, призначення йому вказувача f1. Iм'я файлу складається з назви та розширення, роздiлених крапкою. Назва може мати до 8-ми лiтер. Розширення має довжину до трьох букв i в файлах, утворених користувачем, необов'язкове. Для задання типу служать символи: r - зчитування з файлу, w - запис у файл, a - доточування файлу. Функцiя повертає значення NULL, якщо при вiдкриттi сталася помилка.

FCLOSE(f1,...,fn); - закриття файлiв. В момент закриття вiдбувається запис у файл залишку буферної пам'ятi, якщо вiн був вiдкритий для запису.

FSCANF(f1,"сф",саз); - форматоване введення, читання з файлу,

який має вказувач f1, даних, перетворення їх типiв вiдповiдно до

списку форматiв сф i занесення в оперативну пам'ять, задану списком адрес змiнних саз.

FPRINTF(f1,"сф",сiз); - форматоване виведення, занесення в файл змiнних, заданих списком сiз.

Всi функцiє читання файлу повертають значення EOF або NULL, якщо був досягнений кiнець файлу.

Графічний алгоритм.

Програма складена мовою Сі:

#include<stdio.h>

#include<math.h>

void main()

{ char a[256],n[256],w[256];

int r,k,i=1;

FILE *f1,*f2;

clrscr();

f1=fopen("int.txt","w");

f2=fopen("out.txt","w");

printf("введіть кількість книг:");

scanf("%i",&k);

printf("введіть автора, назву і рік видання книги\n");

for(;i<=k;i++)printf("%i:",i),scanf("%s%s%i",&a,&n,&r),fprintf(f1,"\n%s %s %i",a,n,r);

fclose(f1);

printf("\nвведіть автора\n");

scanf("%s",&w);

f1=fopen("int.txt","r");

printf("знайдено:\n");

while(!feof(f1))

{

k=1;

fscanf(f1,"%s%s%i",&a,&n,&r);

for(i=0;w[i]!=NULL;i++) if(w[i]!=a[i]) k=0;

if(k) fprintf(f2,"%s %s %i\n",a,n,r),printf("%s %s %i\n",a,n,r);

};

fclose(f1);

fclose(f2);

getch();

}

Результат виконання програми

введіть кількість книг:5

введіть автора, назву і рік видання книги

1:Пилипко_О.Р. Програмування 2009

2:Шевченко_Т.Г. Кобзар 1964

3:Хрущ_М.В. Історія_України 2008

4:Пилипко_О.Р. Інформатика 2000

5:Дутка_І.І. Політ_в_Нірвану 2007

введіть автора

Пилипко_О.Р.

знайдено:

Пилипко_О.Р. Програмування 2009

Пилипко_О.Р. Інформатика 2000

Висновки: виконавши лабораторну роботу, я вивчив засоби мови Сi та прийомами складання алгоритмiв i програм, для обробки файлів.