Структуры
Синтаксис объявления структуры
Пример: студент - №зачетки, имя, фамилия, специальность, средний балл, год рождения
Инициализация
Задача.
Задача. Реализовать меню:
Задачи на лабораторную работу
0.97M

Семинар13_Структуры

1. Структуры

2.

Структура представляет собой одну или несколько
переменных (возможно разного типа), которые
объединены под одним именем.
В качестве этих переменных могут быть также массивы
данных, указатели на различные типы данных, также
переменные других типов структур и т.д.
Структуры помогают в организации сложных данных,
потому что позволяют описывать множество логически
связанных между собой отдельных элементов как
единое целое.

3. Синтаксис объявления структуры

struct <имя_структуры>
{
<тип_1> <имя_1>;
<тип_2> <имя_2>;
...
<тип_N> <имя_N>;
};
Поля структуры
Синтаксис объявления структуры
typedef struct
{
<тип_1> <имя_1>;
<тип_2> <имя_2>;
...
<тип_N> <имя_N>;
} <имя_структуры>;
Объявление переменной типа структуры:
struct <имя_структуры> <имя_переменной>;
<имя_структуры> <имя_переменной>;

4. Пример: студент - №зачетки, имя, фамилия, специальность, средний балл, год рождения

typedef struct
{
char num_z[8];
char f_name[20];
char l_name[20];
char spec[10];
float av_score;
int year;
} stud;
struct stud
{
char num_z[8];
char f_name[20];
char l_name[20];
char spec[10];
float av_score;
int year;
};
stud student1;
stud students[20];
struct stud student1
struct stud students[20]
struct
{
char num_z[8];
char f_name[20];
char l_name[20];
char spec[10];
float av_score;
int year;
} student1, students[20];

5. Инициализация

Поля располагаются в памяти в порядке следования в структуре.
Обращение к полям структуры происходят следующим образом:
<имя структуры>.<поле структуры>
1. stud student1 = {“J12KN20”,”Andrey”,”Ivanov”,”RL2”,4.57,2002};
2. stud student1;
strcpy(student1.num_z, “J12KN20”);
strcpy(student1.f_name, “Andrey”);
strcpy(student1.l_name, “Ivanov”);
strcpy(student1.spec, “RL1”);
student1.av_score = 4.57;
student1.year = 2002;

6. Задача.

• Создать массив структур с полями: имя студента, его
оценка
• Вывести массив структур на экран
• Ввести имя студента. Определить его оценку. Если
такого студента нет, вывести соответствующее
сообщение
• Вывести массив двоечников, отсортированный по
имени

7.

1
3
2

8.

4
5

9.

10.

11.

12.

13. Задача. Реализовать меню:

1. Ввести массив структур с полями: «Фамилия», «Имя», «НомерГруппы»,
«Оценка».
2. Записать структуру в текстовый файл (на первой строке файла записать
количество элементов массива структур)
3. Добавить еще один элемент структуры в файл
4. Считать текстовый файл в структуру
5. Вывести массив на экран.
6. Упорядочить массив по фамилиям по алфавиту
7. Вычислить средний балл.
8. Найти студента, чей балл ближе всего к среднему.
9. Вывести студентов, успеваемость которых ниже средней.
10. Вывести студентов и средний балл определенной группы (по запросу)

14.

15.

Отправить
курсор в начало
файла
Отправить
курсор в конец
файла

16.

17.

18.

19.

20. Задачи на лабораторную работу

Создать программу со следующим меню:
1. Создать массив структур с полями: Название горы, страна
нахождения, высота. Вывести на экран
2. Записать в текстовый файл созданный массив (первое число = к-во)
3. Считать в массив структур содержимое текстового файла
4. Вывести на печать массив структур
5. Найти самую низкую гору.
6. Создать новый массив, куда попадают горы, с высотой меньше
введенной. Вывести на экран
7. Найти горы с наибольшей высотой в обоих массивах
8. Упорядочить горы по высоте.
9. Распечатать все горы введенной страны
English     Русский Правила