SHARE
TWEET

Untitled

a guest Nov 17th, 2019 67 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Визначити тип для представлення книги в магазині.Книга характеризується автором,
  2. //назвою і ціною.Автор і назва можуть повторюватися.В класі крім необхідних методів визначити
  3. //конструктор за замовченням та конструктор з параметрами, функції введення та виведення.Дані містяться у файлі.
  4. //А.Ввести дані про 8 книг.Вивести їх посортованими за автором.
  5. //Б.Видрукувати назви книжок, ціна яких лежить в межах від 50 до 100 гр.Знайти сумарну вартість книжок вказаного автора.
  6. //В.Знайти книжку вказаної назви з мінімальною ціною.Вивести середню ціну на цю книжку вказаної назви.
  7. //Г.Перемістити книги в інший масив(по одній для кожного автора) з максимальною ціною.
  8. //Провести переоцінку цих книг на вказаний %.Видрукувати цей масив.
  9.  
  10. #include <iostream>
  11. #include <string>
  12. #include <fstream> //Бібліотека для вводу з файлу
  13. using namespace std;
  14.  
  15. class Book {
  16. private:
  17.     string BookName, author;
  18.     int price;
  19. public:
  20.     Book() : BookName(""), author(""), price(0) {} //Конструктор без параметрів(Конструктор за замовчуванням)
  21.      Book(string valueName, string valueAuthor, int valuePrice) { //Конструктор з параметрами
  22.          BookName = valueName;
  23.          author = valueAuthor;
  24.          price = valuePrice;
  25.      }
  26.  
  27.      void input(istream &in) {
  28.          in >> BookName >> author >> price;
  29.      }
  30.      void output(ostream &out) {
  31.          out << BookName << " " << author << " " << price << endl;
  32.      }
  33.      string getAuthor()const {
  34.          return author;
  35.      }
  36.      string getName()const {
  37.          return BookName;
  38.      }
  39.      int getPrice()const {
  40.          return price;
  41.      }
  42. };
  43.  
  44. void sort(Book *mass, int n) {
  45.     Book temp;
  46.     for (int i = 0; i < n; i++) {
  47.         for (int j = 0; j < n - 1 - i; j++) {
  48.             if (mass[j].getAuthor() > mass[j + 1].getAuthor()) {
  49.                 temp = mass[j];
  50.                 mass[j] = mass[j + 1];
  51.                 mass[j + 1] = temp;
  52.             }
  53.         }
  54.     }
  55. }
  56. void print(Book*mass, int n, ostream &out) {
  57.     for (int i = 0; i < n; i++) {
  58.         if (mass[i].getPrice() >= 50 && mass[i].getPrice() <= 100) {
  59.             mass[i].output(out);
  60.         }
  61.     }
  62. }
  63.  
  64. void summary(Book *mass, int n, ostream &out) {
  65.     string myAuthor;
  66.     cin >> myAuthor;
  67.     int sum = 0;
  68.     for (int i = 0; i < n; i++) {
  69.         if (mass[i].getAuthor() == myAuthor) {
  70.             for (int j = 0; j < n - 1; j++) {
  71.                 if (mass[i].getAuthor() == mass[j + 1].getAuthor()) {
  72.                     sum = mass[i].getPrice() + mass[j + 1].getPrice();
  73.                 }
  74.             }
  75.         }
  76.     }
  77.     out << sum << endl;
  78. }
  79.  
  80. int main() {
  81.     int n;
  82.     cin >> n;
  83.     ifstream in("book.txt");
  84.     Book*mass = new Book[n];
  85.     for (int i = 0; i < n; i++) {
  86.         mass[i].input(in);
  87.     }
  88.     sort(mass, n);
  89.     ofstream out("result.txt");
  90.     for (int i = 0; i < n; i++) {
  91.         mass[i].output(out);
  92.     }
  93.     out << "---------------------------------------------------" << endl;
  94.     print(mass, n, out);
  95.     out << "---------------------------------------------------" << endl;
  96.     summary(mass, n, out);
  97.     in.close();
  98.     out.close();
  99. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top