Выбери формат для чтения
Загружаем конспект в формате doc
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Лекция 14.
Структуры
Для описания какого-либо объекта часто требуется использовать несколько различных характеристик. Например, человек может характеризоваться фамилией, годом рождения, ростом, уровнем образования и т.д. Для представления такого объекта потребуется несколько переменных, причём разного типа. Но эта задача значительно упрощается при использовании структур - составного типа данных, который состоит из элементов разных типов.
Тип структура должен быть описан до его использования в программе. Это можно сделать даже выше функции main(). Часто используемые структуры целесообразно помещать в подключаемые файлы. Структуры описываются по схеме:
struct имя структуры
{
тип 1 поле 1;
тип 2 поле 2;
тип 3 поле 3;
…………
};
struct sotrudnik
{char surname[500];
int age;
bool education;
double salary;
};
Здесь поле – это переменная какого либо типа. Опишем структуру для хранения данных о сотруднике организации. В неё войдут следующие данные: фамилия, возраст, наличие высшего образования (есть / нет), оклад.
После описания типа структура его можно использовать для описания типов переменных. параметров функций и т.д.
sotrudnik s1,s2;
Доступ к полям структуры осуществляется по составному имени:
имя структуры . имя элемента.
Над полями допустимы те же операции, что и над данными соответствующих типов.
s1.education=1; s2.salary=s1.salary*2; s1.surname= “Иванов”; (с типом char[500] не работает, нужно брать string)
Структуры можно инициализировать как поэлементно, поочерёдно присваивая значение каждому полю, так и с помощью списка инициализаторов.
s1={“Петров”, 28, 0, 528.3};
Последний способ, в частности, удобен для задания структуре начальных “пустых значений”, например, сразу при описании переменной типа структура.
s2={“”, 0, 0, 0};
Структуры можно передавать в функции как параметры. Для приведённого ранее примера напишем программу, содержащую две функции, отвечающие за заполнение структуры и её вывод на консоль.
Пример 1. Заполнить файл baza.dat информацией по 5 сотрудникам, вывести его содержимое на экран, подсчитать средний возраст сотрудников.
Пример 2. В файле baza.dat вывести информацию о сотрудниках, не имеющих высшего образования.
Пример 3. В файле baza.dat найти информацию о сотруднике с самым маленьким окладом и вывести её на экран.
Лабораторная работа №14 Вариант 2
1. Создайте файл структур, содержащий информацию о 7 спортсменах. Для каждого спортсмена должна быть представлена следующая информация: фамилия, имя, год рождения, вес (в кг). Все спортсмены должны быть разных годов рождения.
2. Напишите программу, выводящую на экран содержимое созданного ранее файла.
3. Напишите программу, выводящую на экран информацию о спортсменах, находящихся в весовой категории 70-80 кг.
4. Составьте программу, выводящую всю информацию о самом молодом спортсмене.