struct Book {
char author[50];
char title[100];
char publisher[50];
int year;
int pages;
};
// Функция для установки значений книги
void setBook(struct Book *book, char author[], char title[], char publisher[], int year, int pages) {
strcpy(book
->publisher
, publisher
); book->year = year;
book->pages = pages;
}
// Функция для получения автора книги
char* getAuthor(struct Book *book) {
return book->author;
}
// Функция для получения названия книги
char* getTitle(struct Book *book) {
return book->title;
}
// Функция для получения издательства книги
char* getPublisher(struct Book *book) {
return book->publisher;
}
// Функция для получения года выпуска книги
int getYear(struct Book *book) {
return book->year;
}
// Функция для получения количества страниц книги
int getPages(struct Book *book) {
return book->pages;
}
// Функция для вывода информации о книге
void showBook(struct Book *book) {
printf("Author: %s\n", book
->author
); printf("Title: %s\n", book
->title
); printf("Publisher: %s\n", book
->publisher
); printf("Year: %d\n", book
->year
); printf("Pages: %d\n", book
->pages
); }
int main() {
struct Book books[3]; // Создание массива книг
// Установка значений для каждой книги
setBook(&books[0], "Pushkin", "book", "news", 2000, 300);
setBook(&books[1], "Gogol", "Revesora", "TwoBooks", 2010, 400);
setBook(&books[2], "Gogol", "Dead souls", "Own", 2015, 500);
// Вывод списка книг заданного автора
printf("Books by Author1:\n"); for(int i = 0; i < 3; i++) {
if(strcmp(getAuthor
(&books
[i
]), "Author1") == 0) { showBook(&books[i]);
}
}
// Вывод списка книг выпущенных заданным издателем
printf("Books published by Publisher1:\n"); for(int i = 0; i < 3; i++) {
if(strcmp(getPublisher
(&books
[i
]), "Publisher1") == 0) { showBook(&books[i]);
}
}
// Вывод списка книг выпущенных после заданного года
int year = 2010;
printf("Books published after %d:\n", year
); for(int i = 0; i < 3; i++) {
if(getYear(&books[i]) > year) {
showBook(&books[i]);
}
}
return 0;
}
c3RydWN0IEJvb2sgewpjaGFyIGF1dGhvcls1MF07CmNoYXIgdGl0bGVbMTAwXTsKY2hhciBwdWJsaXNoZXJbNTBdOwppbnQgeWVhcjsKaW50IHBhZ2VzOwp9OwoKLy8g0KTRg9C90LrRhtC40Y8g0LTQu9GPINGD0YHRgtCw0L3QvtCy0LrQuCDQt9C90LDRh9C10L3QuNC5INC60L3QuNCz0LgKdm9pZCBzZXRCb29rKHN0cnVjdCBCb29rICpib29rLCBjaGFyIGF1dGhvcltdLCBjaGFyIHRpdGxlW10sIGNoYXIgcHVibGlzaGVyW10sIGludCB5ZWFyLCBpbnQgcGFnZXMpIHsKc3RyY3B5KGJvb2stPmF1dGhvciwgYXV0aG9yKTsKc3RyY3B5KGJvb2stPnRpdGxlLCB0aXRsZSk7CnN0cmNweShib29rLT5wdWJsaXNoZXIsIHB1Ymxpc2hlcik7CmJvb2stPnllYXIgPSB5ZWFyOwpib29rLT5wYWdlcyA9IHBhZ2VzOwp9CgovLyDQpNGD0L3QutGG0LjRjyDQtNC70Y8g0L/QvtC70YPRh9C10L3QuNGPINCw0LLRgtC+0YDQsCDQutC90LjQs9C4CmNoYXIqIGdldEF1dGhvcihzdHJ1Y3QgQm9vayAqYm9vaykgewpyZXR1cm4gYm9vay0+YXV0aG9yOwp9CgovLyDQpNGD0L3QutGG0LjRjyDQtNC70Y8g0L/QvtC70YPRh9C10L3QuNGPINC90LDQt9Cy0LDQvdC40Y8g0LrQvdC40LPQuApjaGFyKiBnZXRUaXRsZShzdHJ1Y3QgQm9vayAqYm9vaykgewpyZXR1cm4gYm9vay0+dGl0bGU7Cn0KCi8vINCk0YPQvdC60YbQuNGPINC00LvRjyDQv9C+0LvRg9GH0LXQvdC40Y8g0LjQt9C00LDRgtC10LvRjNGB0YLQstCwINC60L3QuNCz0LgKY2hhciogZ2V0UHVibGlzaGVyKHN0cnVjdCBCb29rICpib29rKSB7CnJldHVybiBib29rLT5wdWJsaXNoZXI7Cn0KCi8vINCk0YPQvdC60YbQuNGPINC00LvRjyDQv9C+0LvRg9GH0LXQvdC40Y8g0LPQvtC00LAg0LLRi9C/0YPRgdC60LAg0LrQvdC40LPQuAppbnQgZ2V0WWVhcihzdHJ1Y3QgQm9vayAqYm9vaykgewpyZXR1cm4gYm9vay0+eWVhcjsKfQoKLy8g0KTRg9C90LrRhtC40Y8g0LTQu9GPINC/0L7Qu9GD0YfQtdC90LjRjyDQutC+0LvQuNGH0LXRgdGC0LLQsCDRgdGC0YDQsNC90LjRhiDQutC90LjQs9C4CmludCBnZXRQYWdlcyhzdHJ1Y3QgQm9vayAqYm9vaykgewpyZXR1cm4gYm9vay0+cGFnZXM7Cn0KCi8vINCk0YPQvdC60YbQuNGPINC00LvRjyDQstGL0LLQvtC00LAg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0LrQvdC40LPQtQp2b2lkIHNob3dCb29rKHN0cnVjdCBCb29rICpib29rKSB7CnByaW50ZigiQXV0aG9yOiAlc1xuIiwgYm9vay0+YXV0aG9yKTsKcHJpbnRmKCJUaXRsZTogJXNcbiIsIGJvb2stPnRpdGxlKTsKcHJpbnRmKCJQdWJsaXNoZXI6ICVzXG4iLCBib29rLT5wdWJsaXNoZXIpOwpwcmludGYoIlllYXI6ICVkXG4iLCBib29rLT55ZWFyKTsKcHJpbnRmKCJQYWdlczogJWRcbiIsIGJvb2stPnBhZ2VzKTsKfQoKaW50IG1haW4oKSB7CnN0cnVjdCBCb29rIGJvb2tzWzNdOyAvLyDQodC+0LfQtNCw0L3QuNC1INC80LDRgdGB0LjQstCwINC60L3QuNCzCi8vINCj0YHRgtCw0L3QvtCy0LrQsCDQt9C90LDRh9C10L3QuNC5INC00LvRjyDQutCw0LbQtNC+0Lkg0LrQvdC40LPQuApzZXRCb29rKCZib29rc1swXSwgIlB1c2hraW4iLCAiYm9vayIsICJuZXdzIiwgMjAwMCwgMzAwKTsKc2V0Qm9vaygmYm9va3NbMV0sICJHb2dvbCIsICJSZXZlc29yYSIsICJUd29Cb29rcyIsIDIwMTAsIDQwMCk7CnNldEJvb2soJmJvb2tzWzJdLCAiR29nb2wiLCAiRGVhZCBzb3VscyIsICJPd24iLCAyMDE1LCA1MDApOwoKLy8g0JLRi9Cy0L7QtCDRgdC/0LjRgdC60LAg0LrQvdC40LMg0LfQsNC00LDQvdC90L7Qs9C+INCw0LLRgtC+0YDQsApwcmludGYoIkJvb2tzIGJ5IEF1dGhvcjE6XG4iKTsKZm9yKGludCBpID0gMDsgaSA8IDM7IGkrKykgewogICAgaWYoc3RyY21wKGdldEF1dGhvcigmYm9va3NbaV0pLCAiQXV0aG9yMSIpID09IDApIHsKICAgICAgICBzaG93Qm9vaygmYm9va3NbaV0pOwogICAgfQp9CgovLyDQktGL0LLQvtC0INGB0L/QuNGB0LrQsCDQutC90LjQsyDQstGL0L/Rg9GJ0LXQvdC90YvRhSDQt9Cw0LTQsNC90L3Ri9C8INC40LfQtNCw0YLQtdC70LXQvApwcmludGYoIkJvb2tzIHB1Ymxpc2hlZCBieSBQdWJsaXNoZXIxOlxuIik7CmZvcihpbnQgaSA9IDA7IGkgPCAzOyBpKyspIHsKICAgIGlmKHN0cmNtcChnZXRQdWJsaXNoZXIoJmJvb2tzW2ldKSwgIlB1Ymxpc2hlcjEiKSA9PSAwKSB7CiAgICAgICAgc2hvd0Jvb2soJmJvb2tzW2ldKTsKICAgIH0KfQoKLy8g0JLRi9Cy0L7QtCDRgdC/0LjRgdC60LAg0LrQvdC40LMg0LLRi9C/0YPRidC10L3QvdGL0YUg0L/QvtGB0LvQtSDQt9Cw0LTQsNC90L3QvtCz0L4g0LPQvtC00LAKaW50IHllYXIgPSAyMDEwOwpwcmludGYoIkJvb2tzIHB1Ymxpc2hlZCBhZnRlciAlZDpcbiIsIHllYXIpOwpmb3IoaW50IGkgPSAwOyBpIDwgMzsgaSsrKSB7CiAgICBpZihnZXRZZWFyKCZib29rc1tpXSkgPiB5ZWFyKSB7CiAgICAgICAgc2hvd0Jvb2soJmJvb2tzW2ldKTsKICAgIH0KfQoKcmV0dXJuIDA7Cn0K