Умберто Эко

С++. Структуры(struct). Помогите написать программу

Введение

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

Описание

Для создания структуры используется ключевое слово struct, которое за которым следует имя структуры и список полей, разделенных точкой с запятой. Структура может содержать любое количество полей, каждое из которых может быть любого типа данных.

struct Person {
    std::string name;
    int age;
    double height;
};

В этом примере мы создали структуру Person, которая содержит три поля: name – строковое значение, age – целочисленное значение и height – дробное число.

Чтобы создать объект структуры, нужно указать имя структуры и значение полей в фигурных скобках.

Person john = {"John", 25, 1.75};

Мы создали объект john типа Person и инициализировали его поля значениями в фигурных скобках.

Мы можем получить доступ к полям структуры с помощью оператора ..

std::cout << "Имя: " << john.name << std::endl;
std::cout << "Возраст: " << john.age << std::endl;
std::cout << "Рост: " << john.height << " м" << std::endl;

Результат выполнения программы будет следующим:

Имя: John
Возраст: 25
Рост: 1.75 м

Программа

Для примера, напишем программу, которая будет имитировать библиотеку и хранить информацию о книгах.

Создадим структуру Book, которая будет содержать следующие поля: название книги title, имя автора author, год издания year и количество страниц pages.

#include <iostream>
#include <string>

struct Book {
    std::string title;
    std::string author;
    int year;
    int pages;
};

Затем, создадим функцию print_book, которая будет выводить информацию о книге на экран.

void print_book(Book book) {
    std::cout << "Название: " << book.title << std::endl;
    std::cout << "Автор: " << book.author << std::endl;
    std::cout << "Год издания: " << book.year << std::endl;
    std::cout << "Количество страниц: " << book.pages << std::endl;
    std::cout << std::endl;
}

Теперь, создадим несколько экземпляров структуры Book.

int main() {
    Book book1 = {"Война и мир", "Лев Толстой", 1869, 1225};
    Book book2 = {"Преступление и наказание", "Федор Достоевский", 1866, 544};
    Book book3 = {"1984", "Джордж Оруэлл", 1949, 328};

    print_book(book1);
    print_book(book2);
    print_book(book3);

    return 0;
}

Когда программа будет запущена, она выведет информацию обо всех трех книгах.

Название: Война и мир
Автор: Лев Толстой
Год издания: 1869
Количество страниц: 1225

Название: Преступление и наказание
Автор: Федор Достоевский
Год издания: 1866
Количество страниц: 544

Название: 1984
Автор: Джордж Оруэлл
Год издания: 1949
Количество страниц: 328

Заключение

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