Тема: допоможіть(С++(стрічки))
ось все завдання
▼Прихований текст
Розробіть програму «Бібліотека». Створіть структуру «Книга» (назва, автор, видавництво, жанр). Створіть масив з декількох книг. Реалізуйте такі можливості:
Друк всіх книг.
Пошук книги по автору.
Пошук книги по назві
Редагування книги(пошук по назві і перезаписування нових даних).
Сортування масиву по назві книг.
Сортування масиву по автору.
Сортування масиву по видавництву.
Добавлення нової книжки.
Видалення книжки з певною назвою.
ось завдання яке зараз виконую
▼Прихований текст
Сортування масиву по назві книг.
ось весь код
▼Прихований текст
#include <iostream>
using namespace std;
struct Book {
    char name[100];
    char avtor[100];
    char vudavnuztvo[100];
    char zanr[100];
};
void set(Book&book);
void print(Book&book);
void posch_avt(Book&book, int n, char avtor);
void posch_name(Book&book, int n, char name);
void red(Book&book, int n, char name);
void sort(Book&book, int n);
void main() {
    int n = 3;
    Book* book = new Book[n];
    for (int i = 0; i < n; i++) {
        set(book[i]);
    }
    int ch = 1;
    char name[100];
    for (; ch > 0;) {
        switch (ch) {
        case 1:
            for (int i = 0; i < n; i++) {
                print(book[i]);
            }
            break;
        case 2:
            char avtor[100];
            cout << "Enter avtor: ";
            gets_s(avtor);
            for (int i = 0; i < n; i++) {
                posch_avt(book[i], n, *avtor);
            }
            break;
        case 3:
            cout << "Enter name: ";
            gets_s(name);
            for (int i = 0; i < n; i++) {
                posch_name(book[i], n, *name);
            }
            break;
        case 4:
            cout << "Enter name: ";
            gets_s(name);
            for (int i = 0; i < n; i++) {
                red(book[i], n, *name);
            }
            break;
        case 5:
            sort(*book, n);
            break;
        }
        cout << "Enter choise: ";
        (cin >> ch).get();
        
    }
    system("pause");
}
void sort(Book&book, int n) {
    char tmp[100];
    int prov;
    for (int i = 0; i < n; i++) {
        prov = strcmp(book[i].name, book[i + 1].name);
    }
}
void red(Book&book, int n, char name) {
    int prov = strcmp(book.name, &name);
    if (prov == 0) {
        set(book);
    }
}
void posch_name(Book&book, int n, char name) {
    int prov = strcmp(book.name, &name);
    if (prov == 0) {
        print(book);
    }
}
void posch_avt(Book&book, int n, char avtor) {    
        int prov = strcmp(book.avtor, &avtor);
        if (prov == 0) {
            print(book);
        }
}
void print(Book&book) {
    puts(book.name);
    puts(book.avtor);
    puts(book.vudavnuztvo);
    puts(book.zanr);
}
void set(Book&book) {
    gets_s(book.name);
    gets_s(book.avtor);
    gets_s(book.vudavnuztvo);
    gets_s(book.zanr);
}ось код з помилкою
▼Прихований текст
void sort(Book&book, int n) {
    char tmp[100];
    int prov;
    for (int i = 0; i < n; i++) {
        prov = strcmp(book[i].name, book[i + 1].name);
    }
}ось помилки
 бінарний "[": "Book" не визначає цей оператор або перетворення до типу прийнятно до вбудованого оператору ряд 66
 функція не приймає 1 аргументів ряд 66