Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Bilety_programmirovanie_1-7.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.4 Mб
Скачать

87.Типовые алгоритмы обработки файлов

88. Структуры (назначение, синтаксис, использование, оператор ->).

Структура — это составной тип данных, который состоит из элементов разных типов.

Синтаксис:

struct part // part-название структуры, выбирается по своему усмотрению

{

int modelnumber; //члены структуры заключены в фигурные скобки и могут иметь //любой тип данных!

String stroka;

}; //точка с запятой является ограничителем определения.

Например:

struct point

{

float x;

float y;

int color;

string name;

};

Теперь, после того, как мы объявили структуру, пора создать ее экземпляр:

point points Обращение к элементу структуры осуществляется через точку:

points.x=0,5;

points.y=1;

cout<<points.name;

И так далее.

Если вы создаете структуры динамически, то обращение к элементу осуществляется через ->:

point *p;

p=new point;

p->x=1;

p->y=2;

Оператор ->, который обычно называют оператором стрелки, состоит из знака "минус", за которым следует знак "больше". Стрелка применяется вместо оператора точки тогда, когда для доступа к члену структуры используется указатель на структуру.

89.Создание простых бд с помощью массива структур.

#include <iostream>

struct ZNAK //название структуры

{char famili[50];

char name[50]; //поля структуры, которые вам нужны.

char zadiak[50];

int data[3];

};

int main()

{

ZNAK a[1000]; /*создание массива структур, т. е. а[1].family=”петров”; и

* а[2].family=”сидоров”; разные вещи, вы работаете с массивом структур как с обычным *массивом, просто учитывая что у вас не просто элементы стандартного типа, а уже *пользовательского! И каждый элемент массива имеет, можно сказать подэлементы.*/ Обращаться *с этими элементами надо как и с обычной переменной.

cout<<a[5]. famili <<endl; //вывод шестого элемента на экран

cout<<a[5]. name <<endl; //как мы видим мы можем любой элемент структуры вывести на

cout<<a[5]. znak <<endl; //экран, достаточно будет указать его индекс и название поля

for(int i=0; i<3; i++) //которое вы хотите вывести.

cout<<a[5]. Data[i]<<”.”;

//С операцией ввода всё идентично, только вместо cout<< используйте cin>>

return 0;

}

В принципе это и есть простая база данных, составленная с помощью массива структур.

90. Списки (определение, типовые операции, использование).

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

Каждый элемент списка представим структурой языка C++ с двумя полями:

• информационное поле, которое в общем случае может содержать произвольное количество полей разных типов. Ясно, что если значением переменной p является ссылка на элемент списка, то присоединяя к обозначению (*p) с помощью точки имя соответствующего поля, можно манипулировать со значением любого поля информационной части;

• ссылка на следующий элемент списка.

Каждую пару будем называть звеном, а ссылки, содержащиеся в каждом из звеньев, будем использовать для соединения звеньев в список. Такой способ представления упорядоченной последовательности звеньев называется сцеплением.

С учетом сказанного, мы можем описать звено списка так:

struct node

{

int data; //Информационный элемент звена списка

node *naxt; // Указатель на следующее звено списка

};

Чтобы иметь возможность оперировать со списком как с единым объектом, введем в употребление статическую ссылочную переменную p\head, которая указывает на первое звено списка и описывается следующим образом:

struct node *head;

Добовление нового элемента

head=new nade; //создание элемента списка

head->data=2; //присвоение значение информационному звену

head->next=new node; //создание второго элемента

head->next->data=8; //присваение второму элементу списка значения

head->next->next=Null; //завершение списка

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]