#include <iostream>
#include <string>
using namespace std;
class Films {
private:
string name_of_film;
string film_genre;
int year;
string name_of_director;
double price;
public:
/* Конструктор по умолчанию*/
Films() {
name_of_film="",
film_genre = "",
year = 0,
name_of_director = "",
price = 0.;
}
int get_year() {return year;}
void chek(const string &f_name, const string &f_genre, int f_year, const string &n_of_director, double pr) {
name_of_film = f_name;
film_genre = f_genre;
if (f_year<1895) {
year = 0;
cout << "Год создания не может быть меньше 1985!" << endl;
} else {
year = f_year;
}
name_of_director = n_of_director;
price = pr;
};
void edit();
void show() {
cout << "Название фильма: " << name_of_film << endl;
cout << "Жанр фильма: " << film_genre << endl;
cout << "Год выпуска фильма: " << year << endl;
cout << "Режисер фильма: " << name_of_director << endl;
cout << "Стоимость фильма($): " << price << endl;
};
void add() {
cout << "Введите навание фильма: ";
cin >> name_of_film;
cout << "Введите жанр фильма: ";
cin >> film_genre;
cout << "Введите год фильма: ";
cin >> year;
cout << "Введите режисера фильма: ";
cin >> name_of_director;
cout << "Введите стоимость фильма: ";
cin >> price;
};
};
Films* add(Films *f, int n) {
Films* result = new Films [n+1];
for (int i=0; i<n; i++)
result[i]=f[i];
result[n].add();
delete [] f;
return result;
}
Films* del(Films *f, int n, int k) {
Films* result = new Films [n-1];
for (int i=0; i<n-1; i++)
if (i<k)
result[i]=f[i];
else if (i >= k)
result[i]=f[i+1];
delete [] f;
return result;
}
void sort(Films *f,int n){
Films temp;
for (int i=0; i<n-1; i++)
for (int j=i+1; j<n; j++)
if (f[i].get_year() < f[j].get_year()) {
temp = f[i];
f[i] = f[j];
f[j] = temp;
}
}
int main() {
setlocale(LC_ALL, "ru");
Films* film;
int n = 0;
int ch = 0;
cout << "==========Начало работы программы============" << endl;
while (true) {
cout << "==========Выберите действие============" << endl;
cout << "Нажмите 1, чтобы добавить информацию о фильме." << endl
<< "Нажмите 2, чтобы удалить информацию о фильме." << endl
<< "Нажмите 3, чтобы редактировать информацию о фильме." << endl
<< "Нажмите 4, чтобы отсортировать список фильмов" << endl
<< "Нажмите 5, чтобы завершить работу программы." << endl;
cout << endl << "Введите значение: ";
cin >> ch;
if (ch == 5) {
cout << "==========Конец============" << endl;
break;
} else if (ch == 1) {
film = add(film, n);
n+=1;
} else if (ch == 2) {
int d;
cout << endl << "Введите номер удаляемого элемента: ";
cin >> d;
del(film, n, d);
} else if (ch == 3) {
cout << "В разработке" << endl;
} else if (ch == 4) {
sort(film, n);
} else {
cout << "Введено не корректное значение!" << endl;
cout << "==========Конец============" << endl;
break;
}
cout << "======Наш список данных====== " << endl;
for (int i=0; i<n; i++)
film[i].show();
}
return 0;
}