Похожие презентации:
Семинар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.
13
2
8.
45
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. Распечатать все горы введенной страны