
- •Лабораторная работа n 1 работа в итегрированной среде
- •Программа работы
- •Пояснения к работе
- •Контрольные вопросы?????????
- •Лабораторная работа n 2 изучение функций ввода / вывода
- •Программа работы
- •Методические указания
- •Int main() //имя головной программы
- •Int k,m; //описание переменных
- •Задание:
- •Контрольные вопросы
- •Лабораторная работа n 3
- •3. Ответить на контрольные вопросы.
- •Контрольные вопросы
- •Варианты заданий
- •Лабораторная работа № 4 изучение условного оператора
- •Программа работы
- •3. Составить отчёт.
- •4. Ответить на контрольные вопросы. Методические указания
- •Пример программы
- •3. Ответить на контрольные вопросы.
- •Пример программы
- •Контрольные вопросы
- •Варианты заданий
- •Лабораторная работа n 6 оформление алгоритма в виде функции
- •Программа работы
- •5. Составить отчёт.
- •6. Ответить на контрольные вопросы. Методические указания
- •Примеры программ
- •1. Функция swap1 обменивает два значения, имея в качестве аргументов указатели:
- •2. Функция swap2 делает то же, что и предыдущая функция, имея в качестве параметров ссылк
- •Головная программа
- •Лабораторная работа n 7
- •6. Ответить на контрольные вопросы.
- •Методические указания
- •Примеры программ
- •Лабораторная работа n 8
- •Программа работы
- •4.Ответить на контрольные вопросы.
- •Методические указания
- •Лабораторная работа n 9
- •Программа работы
- •5. Ответить на контрольные вопросы.
- •6. Составить отчёт. Методические указания
- •Программа работы
- •3. Ответить на контрольные вопросы
- •Методические указания
- •Пример программы
- •Контрольные вопросы
- •Варианты заданий
- •Лабораторная работа № 11
- •4.Ответить на контрольные вопросы.
- •Лабораторная работа № 12 описание класса по заданной предметной области
- •Программа работы
- •4. Ответить на контрольные вопросы.
- •Методические указания
- •Пример программы
- •Контрольные вопросы
- •Варианты заданий
- •Лабораторная работа № 13 создание связного списка
- •Программа работы
- •7. Ответить на контрольные вопросы.
- •Методические указания
- •Варианты заданий
- •4. Ответить на контрольные вопросы.
- •5. Составить отчёт.
- •Пример программы
- •Контрольные вопросы
- •Варианты заданий
- •Лабораторная работа n 15 множественное наследование
- •Программа работы
- •3. Ответить на контрольные вопросы.
- •4. Составить отчёт. Методические указания
- •Классом z. Пример программы
- •Контрольные вопросы
- •Варианты заданий
Лабораторная работа n 7
РАБОТА С ФАЙЛАМИ
Цель работы: научиться создавать файлы, записывать в них информацию, считывать информацию из файла и выводить её на экран; уметь определять конец файла при считывании из него информации.
Программа работы
1. Создать файл одним из двух способов:
а) программно;
б) с помощью редактора.
2. В созданный файл записать исходные данные (координаты точек, для которых надо проверить: принадлежат данные точки заданной области или нет).
3. Закрыть файл после записи.
4. Открыть файл, прочитать координаты точек и определить, принадлежат точки заданной области или нет.
5. Результаты вывести на экран.
6. Ответить на контрольные вопросы.
7. Составить отчет.
Методические указания
Описание файла необходимо сделать двумя способами:
так, как это делается для языка C;
так, как это делается для языка C++.
Прежде чем работать с файлом, необходимо определить его внутреннее имя, которое называется указателем файла. Указатель файла указывает на структуру, которая содержит информацию о файле. Эта структура расположена в файле <сstdio> с именем FILE. Описание указателя и функции открытия файла выполняется следующим образом: FILE *fp, *fopen();
где fp – указатель на файл( файловая переменная);
fopen() – функция открытия файла.
Обращение к функции открытия осуществляется следующим образом:
fp = fopen(name,mode);
где name – имя файла;
mode - режим открытия файла:
“ w “ – для записи;
“ r “ - для чтения;
“ a “ – для добавления данных к файлу.
Запись в файл можно осуществить с помощью следующих функций:
int putc(int c, FILE *stream) – запись символа в файл;
int fputc( int c, FILE *stream ) – запись символa в файл;
int fputs( const char *s, FILE *stream) – запись строки символов в файл.
Чтение из файла осуществляют следующие функции:
int getc( FILE *stream ) – читает один символ из файла;
int fgetc( FILE *stream ) - читает один символ из файла;
char fgets( char *s, int n, FILE *stream) – читает n символов из файла в строку s.
Например:
fp = fopen( name, “ w “ ); - открытие файла для записи;
putc( c, fp );
close( fp ) – закрытие файла.
fp = fopen( name, “ r “ ); - открытие файла для чтения;
с = getc( fp );
close( fp );
Для форматного ввода / вывода можно использовать функции fscanf и fprintf.
Рассмотренные функции осуществляют последовательный доступ к данным в файле. Для произвольного доступа к данным используется функция fseek( fp, offset, код );
где fp – файловый указатель;
offset – смещение, которое показывает, на сколько байт надо сместиться от начальной точки (или конечной, или промежуточной ); переменная должна быть описана типом long и может быть положительной или отрицательной.
< код > - определяет начальную точку:
код положение в файле
начало файла
текущая позиция
конец файла
Функция fseek() возвращает 0, если операция прошла успешно и (-1), если - с ошибкой.
Замечание: нумерация данных в файле начинается с нуля.
В C++ работа с файлом пользователя осуществляется с помощью функций, находящихся во включаемом файле <fstream> . Открытие файла можно осуществить следующим образом: для чтения – ifstream in (< имя файла > ); для записи – ofstream out ( < имя файла > );
где in, out – файловые указатели для чтения и записи.
Для закрытия файла необходимо писать следующим образом: in.close(), out.close().
Произвольный доступ к данным можно осуществить с помощью следующих функций – seekg() и seekp().