Incompatible types in assignment of 'const char

0

Witam, napisałem kod ale napotkałem kilka błędów i nie wiem jak sobie poradzić.
Kod:

#include <iostream>
using namespace std;

struct BOOK
{
    char title[10];
    char author[5];
    unsigned index;
    float price;
};
BOOK list [100];
void Cheap_book( BOOK list[])
{ int counter;
    bool occurs = false;
    cout<<"list of cheap book"<<endl;
    for (int i = 0; i < counter; i++)
    {
        if( list[i].price < 10.00)
        {
            cout << "title:" << list[i].title<<endl;
            cout << "author:" << list[i].author<<endl;
            cout << "index:" << list[i].index<<endl;
            cout << "price:" << list[i].price<<endl;
                 occurs = true;
        }
        if (!occurs)
        {
            cout<<"the list is empty"<<endl;
            cout<<"press enter"<<endl;
               cin.get();
        }

    }

}
int main(){ 
BOOK book1[100];
book1[1].title="rein";
book1[1].author="piter";
book1.index=1;
book1.price=9;
 void Cheap_book();
}

Błędy

[Error] incompatible types in assignment of 'const char [5]' to 'char [10]'
[Error] incompatible types in assignment of 'const char [6]' to 'char [5]'
[Error] request for member 'index' in 'book1', which is of non-class type 'BOOK [100]'
[Error] request for member 'price' in 'book1', which is of non-class type 'BOOK [100]'

2

Użyj std::string zamiast się bawić w tablice znaków.

2

Link dla twojego nauczyciela programowania w C++.

0
strcpy(book1[0].title,"rein");
strcpy(book1[0].author,"pite"); // nie da sie wpisac 5 znaków bo potrzebny znak zakonczenie
book1[0].index=1;
book1[0].price=9;

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0