Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБ_ПРОГР.doc
Скачиваний:
8
Добавлен:
12.11.2019
Размер:
1.67 Mб
Скачать

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

Тема: «Работа с файлами, содержащими структуры»

  1. Цель работы

1.1 Получение навыков программирования с использованием структур.

1.2 Получение навыков обработки файлов, содержащих структуры.

  1. Техническое обеспечение

    1. Персональная ЭВМ IBM PC/286 и более поздних моделей.

    2. Клавиатура.

    3. Дисплей.

    4. Печатающее устройство.

  2. Программное обеспечение

    1. Операционная система Windows

    2. Система программирования Visual C++ версия 6.0 или Borland C++ версия 3.1 и более поздние версии.

  1. Постановка задачи

с

5. Содержание отчета

5.1. Тема и цель работы.

5.2. Схема алгоритма решения задачи.

5.3. Текст программы.

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

  1. Общие сведения

    1. Структуры

Структура – это совокупность переменных разного типа, объединенных одним именем, предоставляющая общепринятый способ совместного хранения информации. Объявление структуры приводит к образованию шаблона, используемого для создания объектов структуры. Переменные, образующие структуру, называются элементами структуры (или полями структуры).

Обычно все элементы структуры связаны друг с другом. Например, информация об имени и адресе, находящаяся в списке рассылки, обычно представляется в виде структуры. Следующий фрагмент кода объявляет шаблон структуры. Ключевое слово struct сообщает компилятору об объявлении структуры.

struct addr {

char name[30];

char street[40];

char city[20];

char state[40];

unsigned long int zip;

};

Имя структуры addr идентифицирует структуру данных и является спецификатором типа. Имя структуры часто используется как ярлык.

На данный момент на самом деле не создано никакой переменной. Определена только форма данных. Для объявления переменной следует написать:

struct addr addr_info;

В данной строке происходит объявление переменной addr_info типа addr.

При объявлении структуры можно одновременно объявить одну или несколько переменных. Например:

struct addr {

char name[30];

char street[40];

char city[20];

char state[40];

unsigned long int zip;

} addr_info, binfo, cinfo;

объявляет структуру addr и объявляет переменные addr_info, binfo, cinfo данного типа.

Важно понять, что каждая структурная переменная содержит свои собственные копии элементов, образующих структуру. Например, поле zip переменной binfo отделено от поля zip переменной cinfo.

Если необходима только одна структурная переменная, то нет необходимости в ярлыке структуры. Это означает, что

struct {

char name[30];

char street[40];

char city[20];

char state[40];

unsigned long int zip;

} addr_info;

объявляет одну переменную addr_info с типом, определенным предшествующей ей структурой.

6.1.1 Доступ к элементам структуры

Доступ к отдельным членам структуры осуществляется с помощью оператора «точка» (.). Например, следующий фрагмент присваивает элементу zip структурной переменной addr_info значение 12345:

addr_info.zip = 12345;

Стандартный вид доступа следующий:

<имя_структуры> . <имя_элемента>

Следовательно, для вывода поля zip на экран следует написать:

cprintf(“%ld”, addr_info.zip);

Для доступа к отдельным символам addr_info.name можно использовать индекс name. Например, можно вывести содержимое addr_info.name посимвольно с помощью следующего фрагмента:

register int t;

for (t=0; addr_info.name[t];t++) putchar(addr_info.name[t]);

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