решить задачу по C++ с структурами Создать структуру Книга с элементами Автор, Название, Год издания. Заполнить массив элементов типа Книга. Написать функцию для нахождения книги с заданным годом издания.
#include
#include
#include
#include
#include
#include

using namespace std;

class Book
{
private:
char author[100];
char title[100];
int year;
public:

int sravi(int y)
{
if (year == y) return 0;
else return 1;
}
void get(void)
{
cout << "Автор : " << author << endl;
cout << "Название : " << title << endl;
cout << "Год : " << year << endl;
}
void set(void)
{
cout << "Введите автора книги : " << endl;
cin.get();
cin.getline(author, 100);
cout << "Введите название книги : " << endl;
cin.getline(title, 100);
cout << "Введите год издания книги : " << endl;
cin >> year;
}
};

class Book* library;

int main(void)
{
int ans, i = 0;
setlocale(LC_ALL, "Russian");
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
do
{
cout << "Есть книги (1)-да, (2)-нет" << endl;
cin >> ans;
if (ans == 1)
{
library = (class Book*)realloc(library, (i + 1) * sizeof(class Book));
library[i].set();
i++;
}
else if (ans == 2)
{
int a_year;
cout << "Введите год" << endl;
cin >> a_year;
for (int k = 0; k < i; k++)
{
if (library[k].sravi(a_year) == 0)
library[k].get();
}
}
} while (1);
return 0;
}

Miheevf Miheevf    2   20.02.2022 04:32    0

Ответы
Abibkaa Abibkaa  20.02.2022 06:00

#include <iostream>

#include <string>

using namespace std;

struct Book {

public:

   string author;

   string title;

   int year;

};

int getBookByYear(Book books_arr[],int target_year) {

   for (int i = 0; i < sizeof(books_arr);i++) {

       if (books_arr[i].year == target_year) {

           return i;

       }

   }

   return -1;

}

int main()

{

   

}

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика