- •Лабораторная работа № 1
- •5.1 Линейная программа
- •Далее создадим файл:
- •Задания1
- •Лабораторная работа № 2
- •7. Варианты задания
- •Лабораторная работа № 3
- •5.2 Оператор if
- •Лабораторная работа № 4
- •Лабораторная работа № 5
- •Задание 2. Циклический вычислительный процесс конечные суммы и произведения
- •Лабораторная работа № 6
- •Лабораторная работа № 7
- •5.1 Одномерный массив
- •5.3 Индексация с помощью указателей
- •Лабораторная работа № 8
- •Лабораторная работа № 9
- •Лабораторная работа № 11
- •Задача 2. Параметры функции
- •Лабораторная работа № 12
- •Лабораторная работа № 13
- •5. Содержание отчета
- •Лабораторная работа № 14
- •5. Содержание отчета
- •Решение уравнения методом деления отрезка пополам (бисекций)
- •Лабораторная работа № 15
- •6.2.1 Метод средних прямоугольников
- •6.2.1 Метод трапеций
- •Лабораторная работа № 10
- •Лабораторная работа № 16
- •5. Содержание отчета
- •Директива #include
- •7. Методические указания
- •8. Варианты заданий.
- •Лабораторная работа № 17
- •Лабораторная работа № 18
- •Лабораторная работа № 19
- •5. Содержание отчета
- •6.1.1 Доступ к элементам структуры
- •6.1.2 Присваивание структур
- •Лабораторная работа № 20
- •Например, формула
- •Задание на программирование
Лабораторная работа № 19
Тема: «Работа с файлами, содержащими структуры»
Цель работы
1.1 Получение навыков программирования с использованием структур.
1.2 Получение навыков обработки файлов, содержащих структуры.
Техническое обеспечение
Персональная ЭВМ IBM PC/286 и более поздних моделей.
Клавиатура.
Дисплей.
Печатающее устройство.
Программное обеспечение
Операционная система Windows
Система программирования Visual C++ версия 6.0 или Borland C++ версия 3.1 и более поздние версии.
Постановка задачи
Выполнить обработку файлов, содержащих структуры, согласно заданного варианта.
5. Содержание отчета
5.1. Тема и цель работы.
5.2. Схема алгоритма решения задачи.
5.3. Текст программы.
5.4. Результаты выполнения программы.
Общие сведения
Структуры
Структура– это совокупность переменных разного типа, объединенных одним именем, предоставляющая общепринятый способ совместного хранения информации.Объявление структурыприводит к образованию шаблона, используемого для создания объектов структуры. Переменные, образующие структуру, называютсяэлементамиструктуры (илиполямиструктуры).
Обычно все элементы структуры связаны друг с другом. Например, информация об имени и адресе, находящаяся в списке рассылки, обычно представляется в виде структуры. Следующий фрагмент кода объявляет шаблон структуры. Ключевое слово 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]);