Использование указателей на структуры значительно расширяет возможности использования массивов структур, в частности, создание связанных списков, сортировка структур и т.д. (об этом речь пойдет позже). Доступ к отдельным элементам структуры осуществляется с помощью оператора "стрелка" (arrow).
Следующая программа иллюстрирует сказанное. Переменная-массив foliant[m] и указатель *manuscript связаны со структурой следующим оператором:
struct book foliant[m], *manuscript;
Адрес массива foliant копируется в переменную-указатель *manuscript при помощи оператора:
manuscript=foliant[0];
//==========================================================
// Name : struct_card.cpp
// Author : Marat
// Version :
// Copyright : Your copyright notice
// Description : Hello World in C++, Ansi-style
//==========================================================
#include <iostream>
using namespace std;
#define n 50
#define m 20
char newline;
int i, array_size;
struct book{char author[n];
char titel[n];
int year;
};
int main() {
void print(struct book *any_book);
struct book foliant[m], *manuscript;//Указатель на структуру
manuscript=foliant[0];
cout<<"\nHow many book in your library? ";
cin>>array_size;
for(i=0;i<array_size;i++)
{
cin.get(newline);
cout<<"\nInput #"<<i+1<<" author's name, please ";
cin.get(manuscript->author,49);
cin.get(newline);
cout<<"\nInput #"<<i+1<<" book's titel, please ";
cin.get(manuscript->titel,49,'\n');
cin.get(newline);
cout<<"\nInput #"<<i+1<<" appearance year, please ";
cin>>manuscript->year;
manuscript++;
}
manuscript=foliant[0];
print(manuscript);
return 0;
}
void print(struct book *any_book)
{
for(i=0;i<array_size;i++)
{
cout<<"\n#"<<i+1<<" author's name is "<<any_book->author;
cout<<"\n#"<<i+1<<" book's titel is "<<any_book->titel;
cout<<"\n#"<<i+1<<" book's appearance year is "<<any_book->year;
any_book++;
}
cout<<"\n"<<endl;
}
Результат:
How many book in your library? 2 Input #1 author's name please Raymond Murphy Input #1 book's titel please English Grammar in Use Input #1 appearance year please 1996 Input #2 author's name please Klaus Ebert Input #2 book's titel please Komputereranwendungen in der Chemie Input #2 appearance year please 1985 #1 author's name is Raymond Murphy #1 book's titel is English Grammar in Use #1 book's appearance year is 1996 #2 author's name is Klaus Ebert #2 book's titel is Komputereranwendungen in der Chemie #2 book's appearance year is 1985
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.