решить задачу по 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;
}
#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()
{
}