Язык программирования С++. Объединение переменных

Содержание

Слайд 2

С помощью массивов можно объединить переменные одного типа. В реальном мире, однако,

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

Слайд 3

Для объединения разнотипных переменных в языке C ++ используются структуры.
Под структурами подразумевают

Для объединения разнотипных переменных в языке C ++ используются структуры. Под структурами
группу переменных, объединенных общим именем.
Объявление структуры:
struct имя {
тип1 поле1;
тип2 поле2;

типN полеN;
} список переменных ;

Слайд 4

Описание структуры – это всего лишь шаблон, по которому впоследствии создаются переменные.

Описание структуры – это всего лишь шаблон, по которому впоследствии создаются переменные.

Переменная структуры в программе создаются точно также, как и переменная любого базового типа:
можно сразу, указав список с названиями после описания структуры:
можно в любом месте кода.

Слайд 5

Пример: для моделирования автомобиля создать новый тип из нескольких элементов.
struct TAutoTyp //

Пример: для моделирования автомобиля создать новый тип из нескольких элементов. struct TAutoTyp
объявляем новый тип
{
char brand[MaxMarka];
char model[MaxModel];
long km;
int kW;
float price;
} ;
Новый тип TAutoTyp создан.

Слайд 6

Можно, например, создать новую переменную такого типа, или новый массив, или объявить

Можно, например, создать новую переменную такого типа, или новый массив, или объявить
указатель с таким типом.
TAutoTyp collection; // Объявлена новая переменная
TAutoTyp auto_parking[100]; // Массив автомобилей
TAutoTyp *parking_map; // Указатель на автомобиль

Слайд 7

Все данные, которые будут использоваться при выполнении программы, записываются в поля переменной.
Пример:
collection.km

Все данные, которые будут использоваться при выполнении программы, записываются в поля переменной.
= 128000;
collection.kW = 25;
collection.price = 25000.00;

Слайд 8

Структуры можно инициализировать.
Для этого используются фигурные скобки.
TAutoTyp JB =
{"Aston

Структуры можно инициализировать. Для этого используются фигурные скобки. TAutoTyp JB = {"Aston
Martin", "DB5", 12000, 90, 12.95};
TAutoTyp GWB = {0};

Слайд 9

Доступ к элементам структуры через указатель:
TAutoTyp *parking_map;
parking_map = &collection;
(*parking_map).price = 12500;

Доступ к элементам структуры через указатель: TAutoTyp *parking_map; parking_map = &collection; (*parking_map).price

или
parking_map->price = 12500;

Слайд 10

Важный аспект- расположение объявления структуры.
Существует два варианта:
Объявление внутри функции main()
Объявление за

Важный аспект- расположение объявления структуры. Существует два варианта: Объявление внутри функции main()
пределами ф-ии main()
Для программ, состоящих из нескольких функций, способ объявления имеет значение.
Внешнее объявление может быть использовано всеми функциями, которые следуют за структурой.
Внутренне объявление - только той функцией, в которой объявлена структура.

Слайд 11

ПРИМЕР
struct marks {
char name[10]; int phys;
int chem; int maths; };
struct

ПРИМЕР struct marks { char name[10]; int phys; int chem; int maths;
exams{
double phys;
double chem;
double maths; };

Слайд 12

int main()
{ marks ivanov={"Victor",4,4,3};
marks petrov={"Andre",3,4,3} ;
exams LastYear, ThisY;

int main() { marks ivanov={"Victor",4,4,3}; marks petrov={"Andre",3,4,3} ; exams LastYear, ThisY; LastYear.chem=4.33; LastYear.maths=3.82; LastYear.phys=3.5;

LastYear.chem=4.33; LastYear.maths=3.82;
LastYear.phys=3.5;

Слайд 13

ThisY.chem=(ivanov.chem+petrov.chem)/2;
ThisY.maths=(ivanov.maths + petrov.maths) /2;
ThisY.phys =(ivanov.phys+petrov.phys)/2;
cout<<"mathematics "<}

ThisY.chem=(ivanov.chem+petrov.chem)/2; ThisY.maths=(ivanov.maths + petrov.maths) /2; ThisY.phys =(ivanov.phys+petrov.phys)/2; cout }