Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Визначити тип для представлення книги в магазині.Книга характеризується автором,
- //назвою і ціною.Автор і назва можуть повторюватися.В класі крім необхідних методів визначити
- //конструктор за замовченням та конструктор з параметрами, функції введення та виведення.Дані містяться у файлі.
- //А.Ввести дані про 8 книг.Вивести їх посортованими за автором.
- //Б.Видрукувати назви книжок, ціна яких лежить в межах від 50 до 100 гр.Знайти сумарну вартість книжок вказаного автора.
- //В.Знайти книжку вказаної назви з мінімальною ціною.Вивести середню ціну на цю книжку вказаної назви.
- //Г.Перемістити книги в інший масив(по одній для кожного автора) з максимальною ціною.
- //Провести переоцінку цих книг на вказаний %.Видрукувати цей масив.
- #include <iostream>
- #include <string>
- #include <fstream> //Бібліотека для вводу з файлу
- using namespace std;
- class Book {
- private:
- string BookName, author;
- int price;
- public:
- Book() : BookName(""), author(""), price(0) {} //Конструктор без параметрів(Конструктор за замовчуванням)
- Book(string valueName, string valueAuthor, int valuePrice) { //Конструктор з параметрами
- BookName = valueName;
- author = valueAuthor;
- price = valuePrice;
- }
- void input(istream &in) {
- in >> BookName >> author >> price;
- }
- void output(ostream &out) {
- out << BookName << " " << author << " " << price << endl;
- }
- string getAuthor()const {
- return author;
- }
- string getName()const {
- return BookName;
- }
- int getPrice()const {
- return price;
- }
- };
- void sort(Book *mass, int n) {
- Book temp;
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < n - 1 - i; j++) {
- if (mass[j].getAuthor() > mass[j + 1].getAuthor()) {
- temp = mass[j];
- mass[j] = mass[j + 1];
- mass[j + 1] = temp;
- }
- }
- }
- }
- void print(Book*mass, int n, ostream &out) {
- for (int i = 0; i < n; i++) {
- if (mass[i].getPrice() >= 50 && mass[i].getPrice() <= 100) {
- mass[i].output(out);
- }
- }
- }
- void summary(Book *mass, int n, ostream &out) {
- string myAuthor;
- cin >> myAuthor;
- int sum = 0;
- for (int i = 0; i < n; i++) {
- if (mass[i].getAuthor() == myAuthor) {
- for (int j = 0; j < n - 1; j++) {
- if (mass[i].getAuthor() == mass[j + 1].getAuthor()) {
- sum = mass[i].getPrice() + mass[j + 1].getPrice();
- }
- }
- }
- }
- out << sum << endl;
- }
- int main() {
- int n;
- cin >> n;
- ifstream in("book.txt");
- Book*mass = new Book[n];
- for (int i = 0; i < n; i++) {
- mass[i].input(in);
- }
- sort(mass, n);
- ofstream out("result.txt");
- for (int i = 0; i < n; i++) {
- mass[i].output(out);
- }
- out << "---------------------------------------------------" << endl;
- print(mass, n, out);
- out << "---------------------------------------------------" << endl;
- summary(mass, n, out);
- in.close();
- out.close();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement