Разделы презентаций


Структуры. Массивы структур

Содержание

Для чего нужен тип структура?При решении задач обработки большого количества однотипных данных используют массивыЧаще встречаются комбинации из данных разных типов: например, сведения о сотрудниках (фамилия, имя, год рождения, стаж работы)Для обработки

Слайды и текст этой презентации

Слайд 1Структуры. Массивы структур.



С/С++

Структуры.  Массивы структур.С/С++

Слайд 2Для чего нужен тип структура?
При решении задач обработки большого количества

однотипных данных используют массивы
Чаще встречаются комбинации из данных разных типов:

например, сведения о сотрудниках (фамилия, имя, год рождения, стаж работы)
Для обработки разнотипных данных в языке С\С++ имеется комбинированный тип данных – структура
Для чего нужен тип структура?При решении задач обработки большого количества однотипных данных используют массивыЧаще встречаются комбинации из

Слайд 3Что такое структура?
Структура – это тип данных, состоящий из фиксированного

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

Что такое структура?Структура – это тип данных, состоящий из фиксированного числа компонент одного или различных типов, называемых

Слайд 4В языке С\С++ структура:
Стандартный тип struct

Включает ряд компонент, называемых полями
В

разных полях могут храниться данные разного типа
Структура имеет имя; поля

структуры также имеют имена

В языке С\С++ структура:Стандартный тип structВключает ряд компонент, называемых полямиВ разных полях могут храниться данные разного типаСтруктура

Слайд 5Объявление структуры в программе:
struct Date
{ unsigned int Year;
char

Month[12];
unsigned int Day;
char DayWeek[10];
}
//поля структуры

имеют разные типы
Объявление структуры в программе:struct Date {	unsigned int Year;  char Month[12];  unsigned int Day;	 	char DayWeek[10];

Слайд 6Переменные типа структура
После введения типа структура можно задать переменные или

массивы этого типа

Date D1 = new Date();
Date *ArDate = new

Date[10];

Переменные типа структураПосле введения типа структура можно задать переменные или массивы этого типа	Date D1 = new Date();	Date

Слайд 7Обращение к полям структуры:
Осуществляется указанием имени переменной и имени

поля через точку
Для указателей используется операция выбора ->

D1.Year=2015;
D1.Month="September\0";
D1.Day=29;
D1.DayWeek="Monday\0"

Обращение к полям структуры: Осуществляется указанием имени переменной и имени поля через точку Для указателей используется операция

Слайд 8Ввод и вывод структуры:
Составные имена с указанием полей

можно использовать в операторах ввода-вывода:

cin>>D1.Year>>D1.Month>>D1.Day;
cout

операторах ввода-вывода переменную-структуру целиком:
cout<
Ввод и вывод структуры:  Составные имена с указанием полей можно использовать в операторах ввода-вывода:cin>>D1.Year>>D1.Month>>D1.Day;cout

Слайд 9Массивы структур:
Для хранения и обработки большого количества структур удобно использовать

массивы структур.

В этом случае сначала объявляется структура, например, Person, а

затем массив, состоящий из некоторого количества структур типа Person.
Массивы структур:Для хранения и обработки большого количества структур удобно использовать массивы структур.В этом случае сначала объявляется структура,

Слайд 10Пример использования массива структур
Введем структуру Person для описания сведений о

сотруднике: фамилия, имя, пол, год рождения, стаж, должность.
Затем объявим массив,

состоящий из 5 структур типа Person.
Из этого массива можно будет получить выборочные сведения.
Пример использования массива структурВведем структуру Person для описания сведений о сотруднике: фамилия, имя, пол, год рождения, стаж,

Слайд 11Описание структуры и массива структур:
#include
void main()
{
struct Person
{ char

Name[20];
char Profession[15];
unsigned int Year;

unsigned int Stag;
char Pol;
} A[5];
int i, k;
Описание структуры и массива структур:#include void main(){struct Person { char Name[20];  char Profession[15];  unsigned int

Слайд 12Ввод данных в массив
for (i=0; i

_flushall();
printf("Введите должность:\n");
gets_s(A[i].Profession);
_flushall();
printf("Введите год рождения:\n");
scanf("%u",&A[i].Year);
printf("Введите

стаж:\n");
scanf("%u", &A[i].Stag);
printf("Введите пол (м/ж):\n");
A[i].Pol = getch();
printf("%c",A[i].Pol);
printf("\n-----------------------\n"); }
Ввод данных в массивfor (i=0; i

Слайд 13Вывод массива на экран:

printf("\n фамилия\t должность\t год\t стаж\t пол\n");


// вывод строки-заголовка
printf("\n-------------------------\n");
for (i=0; i

%u\t %u\t %c\n",
A[i].Name, A[i].Profession, A[i].Year, A[i].Stag, A[i].Pol);
}
Вывод массива на экран: printf(

Слайд 14Выбор сотрудников со стажем менее 5 лет
for (i=0; i


if (A[i].Stag

A[i].Pol);
}




Выбор сотрудников со стажем  менее 5 летfor (i=0; i

Слайд 15Поиск мужчин и женщин, достигших пенсионного возраста
for (i=0; i


if (A[i].Pol=='ж' && 2019-A[i].Year>=55 ||
A[i].Pol=='м' && 2019-A[i].Year>=60)

printf("%s\t %s\t

%u\t %u\t %c\n",
A[i].Name, A[i].Profession, A[i].Year, A[i].Stag, A[i].Pol);
}






Поиск мужчин и женщин, достигших пенсионного возрастаfor (i=0; i=55 || 	A[i].Pol=='м' && 2019-A[i].Year>=60) 		printf(

Слайд 16Вычисление среднего возраста мужчин
int S = 0; k = 0;
float

Sr;
for (i=0; i

+= 2019-A[i].Year;
k++;
}
}
Sr = (float) S/k;
printf("Средний возраст мужчин %0.1f", Sr);
Вычисление среднего возраста мужчинint S = 0; k = 0;float Sr;for (i=0; i

Слайд 17Ввод данных в массив:

Ввод данных в массив:

Слайд 18Вывод массива на экран

Вывод массива на экран

Слайд 19Выборка данных

Выборка данных

Слайд 20Опишите структуру сведений о товарах: наименование, производитель, цена, количество на

складе.
Объявите массив, состоящий из N структур.
Из этого массива получить выборочные

сведения:
О товарах, которых нет на складе
О товарах с максимальной ценой

Задача 2

Опишите структуру сведений о товарах: наименование, производитель, цена, количество на складе.Объявите массив, состоящий из N структур.Из этого

Слайд 21Начать программу можно так:
#include
void main()
{
struct Tovar
{ char Name[80];

char Brend[40];
float Prace;
unsigned int Kol;

}
int i, k, N;
printf("Введите количество товаров: ");
scanf(”%i”, &N);
Tovar *T=new Tovar[N];

Начать программу можно так:#include void main(){struct Tovar { char Name[80];  char Brend[40];  float Prace;

Слайд 22Задача 3
Составить программу обработки данных о машинах (марка

машины, год выпуска, вид машины: грузовая или легковая, для легковых

машин указать количество посадочных мест, для грузовых – грузоподъемность).
Найти в массиве грузовые и легковые машины определенной марки.
Задача 3  Составить программу обработки данных о машинах (марка машины, год выпуска, вид машины: грузовая или

Слайд 23Пример объявления классов с наследованием
class Car
{ char Brend[20];

unsigned int Year; }
// фиксированная часть (базовый класс)

class Sedan

: Car
{ unsigned int Passagir; }
class Truck : Car
{ float Tonn; }
// вариантная часть (дочерние классы)
Пример объявления классов с наследованиемclass Car{ char Brend[20];  unsigned int Year; }	// фиксированная часть (базовый класс)

Слайд 24Пример работы с классами

Пример работы с классами

Слайд 25Результат запроса

Результат запроса

Слайд 26Выводы:
Структура является значимым, а не ссылочным типом данных, то есть

экземпляр структуры хранит значения своих элементов, а не ссылки на

них
Структура не может участвовать в иерархиях наследования
В программе разрешено напрямую обращаться к полям экземпляра структуры, присваивать им значения
Выводы:Структура является значимым, а не ссылочным типом данных, то есть экземпляр структуры хранит значения своих элементов, а

Слайд 27Домашнее задание
Выучить теорию по теме «Структуры».

Задача
Составить программу для

работы с массивом записей о студентах (фамилия, год рождения, группа,

средний балл).
Вывести сведения о студентах определенной группы, средний балл которых выше 4.
Домашнее задание  Выучить теорию по теме «Структуры».ЗадачаСоставить программу для работы с массивом записей о студентах (фамилия,

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика