Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- class BOOK{ //класс книга
- private: //поля класса
- string name;
- string autor;
- double price;
- public:
- BOOK(){}; //конструктор без параметров
- BOOK(string n, string o, double y){name = n; autor = o; price = y;}; //конструктор с параметрами
- ~BOOK() {}; //деструктор
- void Input(){ //ф-я ввода
- cout << "Название книги: "; getline(cin, name);
- cout << "Автор: "; getline(cin, autor);
- cout << "Цена: "; cin >> price;
- }
- void Show(){ //ф-я вывода
- cout << "Книга: " << name << endl;
- cout << "Автор: " << autor << endl;
- cout << "Цена: " << price << endl;
- }
- BOOK operator/ (double t) { //перегрузка оператора "/"
- BOOK temp;
- temp.name = name;
- temp.autor = autor;
- temp.price = price / t; //делим цену на t
- return temp;
- }
- bool operator==(string t){ //перегрузка оператора "=="
- if(this->autor == t)
- return 1;
- else
- return 0;
- }
- };
- int main()
- {
- setlocale(0, ""); //поддержка кирилицы
- int N;
- cout << "Сколько книг добавить в базу: "; cin >> N;
- BOOK *p = new BOOK[N]; //массив объектов
- for(int i = 0; i < N; i++)
- {
- cin.ignore(); //очистка буфера
- cout << i + 1 << ":";
- p[i].Input(); //ввод
- }
- cout << "\nУменьшаем цену в два раза...\n";
- cout << "Книги: ";
- for(int i = 0; i < N; i++)
- {
- p[i] = p[i]/2; //делим на два
- p[i].Show(); //вывод с измененной ценой
- }
- char aut[20]; int k = 0;
- cout << "\nНайти книги автора "; cin >> aut; //ввод автора, которого будем искать книги
- for(int i = 0; i < N; i++) //проход по массиву
- {
- if(p[i] == aut) //сравниваем введенного автора с текущим элементом
- k++; //если совпадение - увеличиваем счетчик
- }
- cout << "В базе найдено " << k << " книг автора " << aut << endl; //вывод информации
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement