Вопрос задан 19.07.2023 в 09:12. Предмет Информатика. Спрашивает Кособуцький Микола.

ООЧЕНЬ СРОЧНО!!!! С++!!!1. Написать структуру «Домашняя библиотека». Структура должна содержать

не менее 5 полей (автор, название, жанр, издательство, год выпуска, т.п.). Cоздать массив структур (например, с размером 10), заполнить его данными. • Реализовать поиск книги по названию, • по автору, учитывая, что может быть несколько книг одного автора• вывод на экран данных• предусмотреть возможность редактирования отдельных полей
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Бурий Тарас.

c++

#include<iostream>

const int n=10;

struct Library{

char author;

char name;

char genre;

int publish;

int date;

} List[n];

int main(void) {

int i;

for(i=0; i<n;i++) {

cin>>List[n].author>>List[n].name>>List[n].genre>>List[n].publish>>List[n].weight;

}

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно! Ниже представлена структура "Домашняя библиотека" на языке C++ с реализацией функций поиска, вывода данных и редактирования полей:

cpp
#include <iostream> #include <string> const int MAX_BOOKS = 10; struct Book { std::string author; std::string title; std::string genre; std::string publisher; int year; }; // Функция для поиска книги по названию void searchByTitle(Book library[], int size, std::string searchTitle) { for (int i = 0; i < size; ++i) { if (library[i].title == searchTitle) { std::cout << "Найдена книга:\n"; std::cout << "Автор: " << library[i].author << "\n"; std::cout << "Название: " << library[i].title << "\n"; std::cout << "Жанр: " << library[i].genre << "\n"; std::cout << "Издательство: " << library[i].publisher << "\n"; std::cout << "Год выпуска: " << library[i].year << "\n"; return; } } std::cout << "Книга с названием '" << searchTitle << "' не найдена.\n"; } // Функция для поиска книг по автору void searchByAuthor(Book library[], int size, std::string searchAuthor) { for (int i = 0; i < size; ++i) { if (library[i].author == searchAuthor) { std::cout << "Найдена книга автора " << searchAuthor << ":\n"; std::cout << "Название: " << library[i].title << "\n"; std::cout << "Жанр: " << library[i].genre << "\n"; std::cout << "Издательство: " << library[i].publisher << "\n"; std::cout << "Год выпуска: " << library[i].year << "\n"; } } } // Функция для вывода данных всех книг в библиотеке void displayLibrary(Book library[], int size) { std::cout << "Все книги в библиотеке:\n"; for (int i = 0; i < size; ++i) { std::cout << "Автор: " << library[i].author << "\n"; std::cout << "Название: " << library[i].title << "\n"; std::cout << "Жанр: " << library[i].genre << "\n"; std::cout << "Издательство: " << library[i].publisher << "\n"; std::cout << "Год выпуска: " << library[i].year << "\n"; std::cout << "----------------------------------\n"; } } // Функция для редактирования полей книги void editBook(Book& book) { std::cout << "Введите новые данные для книги:\n"; std::cout << "Автор: "; std::cin.ignore(); std::getline(std::cin, book.author); std::cout << "Название: "; std::getline(std::cin, book.title); std::cout << "Жанр: "; std::getline(std::cin, book.genre); std::cout << "Издательство: "; std::getline(std::cin, book.publisher); std::cout << "Год выпуска: "; std::cin >> book.year; } int main() { Book library[MAX_BOOKS]; // Пример заполнения данных в массиве структур library[0] = {"Айзек Азимов", "Я, робот", "Научная фантастика", "Эксмо", 1950}; library[1] = {"Дж. Р. Р. Толкин", "Властелин колец", "Фэнтези", "Азбука", 1954}; library[2] = {"Грегори Дэвид Робертс", "Шантарам", "Приключения", "Эксмо", 2003}; library[3] = {"Маргарет Митчелл", "Унесенные ветром", "Роман", "АСТ", 1936}; library[4] = {"Дан Браун", "Ангелы и демоны", "Триллер", "Эксмо", 2000}; int choice; do { std::cout << "Выберите действие:\n"; std::cout << "1. Поиск книги по названию\n"; std::cout << "2. Поиск книг по автору\n"; std::cout << "3. Вывод всех данных\n"; std::cout << "4. Редактирование данных\n"; std::cout << "0. Выход\n"; std::cin >> choice; switch (choice) { case 1: { std::cout << "Введите название книги для поиска: "; std::string searchTitle; std::cin.ignore(); std::getline(std::cin, searchTitle); searchByTitle(library, MAX_BOOKS, searchTitle); break; } case 2: { std::cout << "Введите автора для поиска: "; std::string searchAuthor; std::cin.ignore(); std::getline(std::cin, searchAuthor); searchByAuthor(library, MAX_BOOKS, searchAuthor); break; } case 3: { displayLibrary(library, MAX_BOOKS); break; } case 4: { std::cout << "Введите номер книги для редактирования (от 0 до " << MAX_BOOKS - 1 << "): "; int bookIndex; std::cin >> bookIndex; if (bookIndex >= 0 && bookIndex < MAX_BOOKS) { editBook(library[bookIndex]); } else { std::cout << "Некорректный номер книги.\n"; } break; } case 0: { std::cout << "Выход.\n"; break; } default: { std::cout << "Неверный выбор.\n"; break; }
0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос