Advertisement
Guest User

Untitled

a guest
Nov 17th, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.46 KB | None | 0 0
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement