• Как сделать фильтр?

    @serhey797 Автор вопроса
    Денис Загаевский, фильтрует по жанру
  • Как сделать фильтр?

    @serhey797 Автор вопроса
    Денис Загаевский, Допустим, идёт - фантастика, хоррор, фантастика, военный, хоррор.
    А надо чтоб было последовательно - фантастика, фантастика, хоррор, хоррор, военный..Чтоб не было в разброс,так само по дате, от меньшей к большой
  • Как сделать фильтр?

    @serhey797 Автор вопроса
    res2001, Нужно сделать фильтр который фильтрует за жанром, номером, месяцем, годом издания, издательством
  • Как сделать фильтр?

    @serhey797 Автор вопроса
    res2001, Ошибки нету,мне нужна помощь или хотя бы пример,как сделать фильтр,что он должен делать,я написал..
  • Как исправить ошибку?

    @serhey797 Автор вопроса
    5fb669d375dba770598844.jpeg
    Скрин библиотек
  • Как исправить ошибку?

    @serhey797 Автор вопроса
    AkiroToshiro, Заменил,но поиск пока что так же не работает.
  • Как исправить ошибку?

    @serhey797 Автор вопроса
    AkiroToshiro, #include ;
    #include ;
    #include ;
    #include ;

    using namespace std;

    struct BookCathalog {
    string author;
    string name;
    string date;
    string publishing;
    string size;
    string genre;

    };

    int globalSize = 0;
    int CinNewCathalog(struct BookCathalog* cath) {
    int BookSize;
    cout << "Количество новых позиций > ";
    cin >> BookSize;
    for (int i = 0; i < BookSize; i++) {

    cout << "Автор: ";
    cin >> cath[i].author;
    cout << "Название: ";
    cin >> cath[i].name;
    cout << "Дата: ";
    cin >> cath[i].date;
    cout << "Издательство: ";
    cin >> cath[i].publishing;
    cout << "Жанр: ";
    cin >> cath[i].genre;
    cout << "Кол-во стр:";
    cin >> cath[i].size;

    cout << " ---" << endl;
    }
    ::globalSize = BookSize;
    return BookSize;
    }

    void FillCathalog(BookCathalog* cath) {
    cath[0].author = "Ричард Лаймон";
    cath[0].name = "Луна - парк";
    cath[0].date = "1989 год";
    cath[0].publishing = "Funland";
    cath[0].genre = "ужасы";
    cath[0].size = "638 стр";

    cath[1].author = "Брэм Стокер";
    cath[1].name = "Дракула";
    cath[1].date = "1897 год ";
    cath[1].publishing = "Archibald Constable and Company";
    cath[1].genre = "ужасы";
    cath[1].size = "448 стр";

    cath[2].author = "Роджер Желязны";
    cath[2].name = "Князь Света";
    cath[2].date = "1967 год";
    cath[2].publishing = "Doubleday";
    cath[2].genre = "фантастика";
    cath[2].size = "530 стр";

    cath[3].author = "Герберт Уэллс";
    cath[3].name = "Война миров";
    cath[3].date = "1987 год";
    cath[3].publishing = "Heinemann";
    cath[3].genre = "фантастика";
    cath[3].size = "480 стр";

    cath[4].author = "Виктор Астафьев";
    cath[4].name = "Прокляты и убиты";
    cath[4].date = "1992 год";
    cath[4].publishing = "UK";
    cath[4].genre = "военный";
    cath[4].size = "541 стр";


    ::globalSize = 4;
    cout << "GlobalSize = " << ::globalSize << endl;
    }

    void CoutCathalog(struct BookCathalog* cath, int genre) {
    for (int i = 0; i < genre; i++) {
    cout << "-" << endl;
    cout << "Автор: " << cath[i].author << endl;
    cout << "Название: " << cath[i].name << endl;
    cout << "Дата: " << cath[i].date << endl;
    cout << "Издательство: " << cath[i].publishing << endl;
    cout << "Жанр: " << cath[i].genre << endl;
    cout << "Кол-во стр: " << cath[i].size << endl;
    }
    }

    void SearchInCathalog(struct BookCathalog* cath, int genre) {
    setlocale(LC_ALL, "Russian");
    bool found = false;
    string genreF;
    string author;

    cout << "Жанр:\n ";
    cin >> genreF;
    cout << "Автор:\n ";
    cin >> author;

    for (int i = 0; i < genre; i++) {

    if (genreF == cath[i].genre && author == cath[i].author) {
    cout << "Автор: " << cath[i].author << endl;
    cout << "Название: " << cath[i].name << endl;
    cout << "Дата: " << cath[i].date << endl;
    cout << "Издательство: " << cath[i].publishing << endl;
    cout << "Жанр: " << cath[i].genre << endl;
    cout << "Кол-во стр: " << cath[i].size << endl;
    found = true;
    }
    }
    if (!found) {
    cout << "\n Ничего не найдено :/" << endl;
    }
    }

    int main() {
    setlocale(LC_ALL, "Russian");
    int cathSize;
    int v, v2;
    cout << "1.Создать новый\n2.Заполнить по стандарту\n";
    cin >> v;
    cout << "\n" << endl;

    BookCathalog* buildingSuppliesList = new BookCathalog[10];
    switch (v) {
    case 1:
    cathSize = CinNewCathalog(buildingSuppliesList);
    CoutCathalog(buildingSuppliesList, cathSize);
    break;
    case 2:
    FillCathalog(buildingSuppliesList);
    CoutCathalog(buildingSuppliesList, 5);
    break;
    default:
    break;
    }

    cout << "\n\n1.Поиск\n2.Выход\n";
    cin >> v2;

    switch (v2) {
    case 1:
    SearchInCathalog(buildingSuppliesList, ::globalSize);
    break;
    default:
    break;
    }

    }
  • Как исправить ошибку?

    @serhey797 Автор вопроса
    AkiroToshiro, мне кажется что я что-то не правильно написал в int,я думаю что там должно быть что-то другое,но не знаю что...
    void SearchInCathalog(struct BookCathalog* cath, int genre)
  • Как исправить ошибку?

    @serhey797 Автор вопроса
    AkiroToshiro, Ошибки появились
    5fb667a88ea9d073291541.jpeg
  • Как исправить ошибку?

    @serhey797 Автор вопроса
    AkiroToshiro, void FillCathalog(struct BookCathalog* cath) {
    cath[0].author = "Ричард Лаймон";
    cath[0].name = "Луна - парк";
    cath[0].date = "1989 год";
    cath[0].publishing = "Funland";
    cath[0].genre = "ужасы";
    cath[0].size = "638 стр";

    cath[1].author = "Брэм Стокер";
    cath[1].name = "Дракула";
    cath[1].date = "1897 год ";
    cath[1].publishing = "Archibald Constable and Company";
    cath[1].genre = "ужасы";
    cath[1].size = "448 стр";

    cath[2].author = "Роджер Желязны";
    cath[2].name = "Князь Света";
    cath[2].date = "1967 год";
    cath[2].publishing = "Doubleday";
    cath[2].genre = "фантастика";
    cath[2].size = "530 стр";

    cath[3].author = "Герберт Уэллс";
    cath[3].name = "Война миров";
    cath[3].date = "1987 год";
    cath[3].publishing = "Heinemann";
    cath[3].genre = "фантастика";
    cath[3].size = "480 стр";

    cath[4].author = "Виктор Астафьев";
    cath[4].name = "Прокляты и убиты";
    cath[4].date = "1992 год";
    cath[4].publishing = "UK";
    cath[4].genre = "военный";
    cath[4].size = "541 стр";


    ::globalSize = 4;
    cout << "GlobalSize = " << ::globalSize << endl;
    }

    void CoutCathalog(struct BookCathalog* cath, int genre) {
    for (int i = 0; i < genre; i++) {
    cout << "-" << endl;
    cout << "Автор: " << cath[i].author << endl;
    cout << "Название: " << cath[i].name << endl;
    cout << "Дата: " << cath[i].date << endl;
    cout << "Издательство: " << cath[i].publishing << endl;
    cout << "Жанр: " << cath[i].genre << endl;
    cout << "Кол-во стр: " << cath[i].size << endl;
    }
    }

    void SearchInCathalog(struct BookCathalog* cath, int genre) {
    setlocale(LC_ALL, "Russian");
    bool found = false;
    string genreF;
    string author;

    cout << "Жанр:\n ";
    cin >> genreF;
    cout << "Автор:\n ";
    cin >> author;

    for (int i = 0; i < genre; i++) {

    if (genreF == cath[i].genre && author == cath[i].author) {
    cout << "Автор: " << cath[i].author << endl;
    cout << "Название: " << cath[i].name << endl;
    cout << "Дата: " << cath[i].date << endl;
    cout << "Издательство: " << cath[i].publishing << endl;
    cout << "Жанр: " << cath[i].genre << endl;
    cout << "Кол-во стр: " << cath[i].size << endl;
    found = true;
    }
    }
    if (!found) {
    cout << "\n Ничего не найдено :/" << endl;
    }
    }
  • Как исправить ошибку?

    @serhey797 Автор вопроса
    AkiroToshiro, Заполнить по стандарту,она выводит результат,но при поиске,не находит нужное
    5fb664d969e78732453371.jpeg
  • Как исправить ошибку?

    @serhey797 Автор вопроса
    AkiroToshiro, А ручной работает исправно5fb6635a62306760285342.jpeg
  • Как исправить ошибку?

    @serhey797 Автор вопроса
    AkiroToshiro, Работает только тогда,когда ручной ввод,а когда автоматично,и делаю поиск по словам,он не находит
    5fb662cdb5b0c474912133.jpeg
  • Как исправить ошибку?

    @serhey797 Автор вопроса
    AkiroToshiro, Поиск,что бы работал нормально
  • Как исправить ошибку?

    @serhey797 Автор вопроса
    Вот когда я создаю по готовому типу,оно ничего не показывает,а по новому все работает..5fb65cfd92190982648687.jpeg5fb65d1e0b3d5547776435.jpeg
  • Как исправить ошибку?

    @serhey797 Автор вопроса
    GavriKos, Я хочу,что бы при сравнении выводилась строка на экран..Там есть поиск,когда я прописываю автора и жанр,чтоб оно сравнивало с этим и выводило нужный результат на экран...
    cath[0].author = "Ричард Лаймон";
    cath[0].name = "Луна - парк";
    cath[0].date = "1989 год";
    cath[0].publishing = "Funland";
    cath[0].genre = "ужасы";
    cath[0].size = "638 стр";

    cath[1].author = "Брэм Стокер";
    cath[1].name = "Дракула";
    cath[1].date = "1897 год ";
    cath[1].publishing = "Archibald Constable and Company";
    cath[1].genre = "ужасы";
    cath[1].size = "448 стр";

    cath[2].author = "Роджер Желязны";
    cath[2].name = "Князь Света";
    cath[2].date = "1967 год";
    cath[2].publishing = "Doubleday";
    cath[2].genre = "фантастика";
    cath[2].size = "530 стр";

    cath[3].author = "Герберт Уэллс";
    cath[3].name = "Война миров";
    cath[3].date = "1987 год";
    cath[3].publishing = "Heinemann";
    cath[3].genre = "фантастика";
    cath[3].size = "480 стр";

    cath[4].author = "Виктор Астафьев";
    cath[4].name = "Прокляты и убиты";
    cath[4].date = "1992 год";
    cath[4].publishing = "UK";
    cath[4].genre = "военный";
    cath[4].size = "541 стр";
  • Как исправить ошибку?

    @serhey797 Автор вопроса
    Как исправить,можете помочь?