Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LAB_TO2.doc
Скачиваний:
15
Добавлен:
19.02.2016
Размер:
2.62 Mб
Скачать

4 Методичні вказівки

  1. Описати і задати масив згідно умови задачі індивідуального завдання, описати змінні, тип яких співпадає з типом елементів заданого масиву.

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

  3. За допомогою функції fwrite() заданий масив записати у відкритий файл. Передбачити перевірку на правильність запису масиву в файл.

  4. Закрити файл за допомогою функції fclose().

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

  6. Використовуючи функції прямого (довільного доступу) до даних у файлі, (fseek(), rewind((),і ftell() ) встановити положення вказівника у файлі. на відповідні елементи масиву, задані згідно умови задачі індивідуального завдання.

  7. Прочитати ці елементи масиву в описані змінні використовуючи функцію fread( ), значення яких вивести на екран.

5 Приклад виконання лабораторної роботи

Структура "Студент":

прізвище, ім'я, по батькові; дата народження; домашня адреса; рейтинг.

прочитати з масиву в змінні 3-і 1 поле 1-го елементу масиву. Значення полів вивести на екран.

Програма розв'язку

#include<stdio.h>

#include<conio.h>

#include<stdlib.h>

FILE *fp;

struct stydent { char pib[30]; char d[11]; char ad[15]; float r;

}st[5]={{"Rybaha Zorjana Igorivna","12.07.1991","Pumonenka 5/8",3.89},

{"Skip Natalija Andriivna","3.11.1992","Melnyka 45", 3.25},

{"Sunjakevuch Roman Romanovuch","8.08.1992","Rjashivska 34/6",4.37},

{"Golovko Bogdan Igorovuch","3.07.1992","Korotka 5/8",4.32},

{"Savuch Taras Andrijovuch","27.09.1992",3.89}};

char A[15],B[30];

int k,m;

void main() { clrscr();

fp=fopen("C:\\B.TXT","wb");

if(fp==NULL) { printf("not open wb"); exit(1); }

k=fwrite(st,sizeof(struct stydent),5,fp);

if(k!=5) { printf("not write"); exit(2); }

k=fclose(fp);

if(k==-1) { printf("not close"); exit(3); }

fp=fopen("C:\\B.TXT","rb");

if(fp==NULL) { printf("not open"); exit(4); }

m=30+11;

fseek(fp,m,0);

k=fread(A,sizeof(char),15,fp);

if(k!=15) { printf("not read"); exit(5); }

rewind(fp);

k=fread(B,sizeof(char),30,fp);

if(k!=30) { printf("not read"); exit(6); }

k=fclose(fp);

if(k==-1) { printf("not close"); exit(7); }

puts(A);

puts(B);

}

Результати:

Pumonenka 5/8

Rybaha Zorjana Igorivna

4 Контрольні запитання

  1. Яка функція встановлює вказівник на початок файлу?

  2. Що таке прямий доступ до файлу?

  3. Який прототип функції ftell()..?

  4. Який прототип функції fseek() і що вона повертає?

  5. Яку інформацію треба передати в функцію fopen() для відкриття файлу на диску?

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

  1. Громов Ю.Ю., Татаренко С.И. Программирование на языке Си: Учебное пособие. - Тамбов, 1995. - 169с.

  2. Подбельский В.В., Фомин С.С., Программирование на языке Си. М.: Финансы и статистика, 1999. .– 600с.

  3. Керниган Б.В., Ричи Д.М. Язык программирования Си. \Пер. с англ., 3-е изд., испр.- СПб.:“Невский Диалект”, 2001. – 352с.

  4. Бредли Л. Джонс, Питер Єйткен, Освой самостоятельно С за 21 день, 6-е изд.: Пер. З англ. — М.: Издательский дом "Вильямс", 2003.- 800с

  5. Культин Н., С/C++ в задачах и примерах. Санк-Петербург: "БХВ Петербург", 2004.

  6. Павловская Т.А., С/C++ Програмирование на языке высокого уровня. : М.:, 2009.-460 с.

  7. Бірюльов К.Ю., Дещинський Ю.Л., Селемонавічус А.А., Хавалко В.М., Худий А.М., Якимів Ю.Б. Методичний посібник «Конспект лекцій з дисципліни Системне програмування».: Львів, 2005. – 149с.

  8. Шпак З.Я. Програмування мовою С. – Львів, “Оріяна-Нова”, 2006. – 431 с.

  9. Кужій Л.І., Конспект лекцій з навчальної дисципліни “Системне програмування”, 104 с.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]