Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "pch.h"
- #include <iostream>
- #include <vector> // дает возможность рабоать с векторами
- #include <string>
- #include "Windows.h" // дает возможность подключать ввод русских букв
- using namespace std;
- struct Book
- {
- string author;
- string title;
- string publisher;
- int circulation;
- };
- Book set_info(); // функция ввода информации о книге
- void get_info(Book a);// функция вывода информации о книге
- int main()
- {
- SetConsoleCP(1251); // подключает ввод
- SetConsoleOutputCP(1251); // руссих букв
- vector <Book> catalog;
- Book buffer; // временное хранилище для обьектов структуры, для заноса в "вектор"
- int choice = 1; //переменная для выбора варианты действий
- while (choice == 1)
- {
- buffer = set_info(); // ввод данных о обьекте структуры с помощью функции set_info
- catalog.push_back(buffer); // добавление введенного элемента в массив
- choice = 0;
- cout << "\nВарианты действий:\n" // выбор действий
- << "1. Добавить еще одну книгу\n"
- << "2. Завершить ввод книг в каталог\n"
- << "Выберете желаемый вариант: ";
- cin >> choice;
- cout << endl;
- }
- string search_publisher;// переменные для поиска по критериям
- int search_circulation;
- cout << "Введите идательство и тираж для поиска книг\n" // вводим критерии поиска
- << "Издательство: ";
- cin >> search_publisher;
- cout << "Тираж: ";
- cin >> search_circulation;
- int k = 0; // счетчик найденных книг
- for (int i = 0; i < catalog.size(); i++) // в цикле от 1 до последнего элемента массива
- { // ищем элементы удовлетворяющие введенным критериям
- if (catalog[i].publisher == search_publisher && catalog[i].circulation > search_circulation) // если удрвлетворяет критериям
- {
- k++; // увеличиваем счетчик
- cout << "\nСписок найденных книг:" << endl;
- cout << "Книга №" << k << endl;
- get_info(catalog[i]); //вызываем get_info, которая выводит инфу о книге
- cout << endl;
- }
- }
- if (k == 0)
- cout << "\nКниг по данным критерям не найдено!" << endl;
- }
- Book set_info()
- {
- Book a;
- cout << "Введите автора книги: ";
- cin >> a.author;
- cout << "Введите название книги: ";
- cin >> a.title;
- cout << "Введите издательство книги: ";
- cin >> a.publisher;
- cout << "Введите тираж книги (в шт.): ";
- cin >> a.circulation;
- return a;
- }
- void get_info(Book a)
- {
- cout << "Автор книги: " << a.author << endl;
- cout << "Название книги: " << a.title << endl;
- cout << "Издательство книги: " << a.publisher << endl;
- cout << "Тираж книги (в шт.): " << a.circulation << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement