Advertisement
Proff_Ust

Books

Sep 22nd, 2019
758
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.00 KB | None | 0 0
  1. #include <iostream>
  2. #include <clocale>
  3.  
  4. using namespace std;
  5. struct Tbooks
  6. {
  7.     string surname;
  8.     string name;
  9.     int year;
  10. };
  11.  
  12. Tbooks* inputBook()//функуия для ввода информации о книге. возвращает указать на введенную книгу
  13. {
  14.     Tbooks* temp = new Tbooks;//выделение памяти для вводимой книги
  15.     cout<<"Введите фамилию автора ";
  16.     cin>>temp->surname;
  17.     cin>>temp->name;
  18.     cin>>temp->year;
  19.     return temp;
  20. }
  21.  
  22. void PrintBook(Tbooks* temp)//функция для вывод данных об одной книге
  23. {
  24.     cout<<temp->surname<<endl;//-> - разыменование указателя и боращение к полю структуры
  25.     cout<<temp->name<<endl;
  26.     cout<<temp->year<<endl<<endl;
  27. }
  28.  
  29. int main()
  30. {
  31.     setlocale(LC_ALL,"rus");
  32.     Tbooks** Books = new Tbooks*[3];//объявление массива из указателей на книги длинной 3
  33.  
  34.     for(int i=0; i<3; i++)
  35.         Books[i] = inputBook();//ввод массива из книг
  36.     cout<<endl;
  37.     for(int i=0;i<3;i++)
  38.         PrintBook(Books[i]);//вывод данных обо всех введенных книгах
  39.  
  40.     string F;
  41.     cin>>F;//переменная, в которой будет храниться фамилия искомого автора
  42.     for(int i=0; i<3;i++)//идем по массиву
  43.         if (Books[i]->year>1977 && Books[i]->surname==F)//если год издания больше 1977 и фамилия равна искомой
  44.             cout<< Books[i]->name<<endl;//выводим фамилию автора
  45.  
  46.     for(int i=0;i<3;i++)
  47.         if (Books[i]->name=="informatika")//если имя книги инрорматика
  48.         {
  49.             cout<<Books[i]->surname<<endl;// выводим фамилию
  50.             cout<<Books[i]->year<<endl;   // и год издания
  51.         }
  52.     return 0;
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement