Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- #include <stdio.h>
- struct ВИДЕОМАГАЗИН
- {
- char Название_фильма[256];
- char Режиссёр[32];
- char Жанр[32];
- float Рейтинг_популярности;
- float Цена_диска;
- };
- void show(ВИДЕОМАГАЗИН* cd) {
- cout << cd->Название_фильма << " ";
- cout << cd->Режиссёр << " ";
- cout << cd->Жанр << " ";
- cout << cd->Рейтинг_популярности << " ";
- cout << cd->Цена_диска << endl;
- }
- void Поиск_по_названию(ВИДЕОМАГАЗИН* ptr, char название[], int size) {
- for (int i = 0; i < size; i++) {
- if (strstr((ptr[i].Название_фильма), название) != NULL) {
- Поиск_по_названию(ptr + i + 1, название, size - i - 1);
- if ((size - i) == 10) {
- if (название[0] >= 65 && название[0] <= 90) название[0] += 32;
- else if (название[0] >= 97 && название[0] <= 122) название[0] -= 32;
- else if (название[0] >= -64 && название[0] <= -33) название[0] += 32;
- else if (название[0] >= -32 && название[0] <= -1) название[0] -= 32;
- else if (название[0] == -88) название[0] == -72;
- else if (название[0] == -72) название[0] == -88;
- for (int j = 0; j < size; j++) {
- if (strstr((ptr[j].Название_фильма), название) != NULL) {
- Поиск_по_названию(ptr + j + 1, название, size - j - 1);
- Поиск_по_названию(ptr + j, название, size - (size - 1));
- return show(&ptr[i]);
- }
- }
- }
- return show(&ptr[i]);
- }
- else if ((size - i) == 10) {
- Поиск_по_названию(ptr + i + 1, название, size - i - 1);
- if (название[0] >= 65 && название[0] <= 90) название[0] += 32;
- else if (название[0] >= 97 && название[0] <= 122) название[0] -= 32;
- else if (название[0] >= -64 && название[0] <= -33) название[0] += 32;
- else if (название[0] >= -32 && название[0] <= -1) название[0] -= 32;
- else if (название[0] == -88) название[0] == -72;
- else if (название[0] == -72) название[0] == -88;
- for (int j = 0; j < size; j++) {
- if (strstr((ptr[j].Название_фильма), название) != NULL) {
- Поиск_по_названию(ptr + j + 1, название, size - j - 1);
- return show(&ptr[j]);
- }
- }
- }
- }
- }
- void Поиск_по_жанру(ВИДЕОМАГАЗИН* ptr, char название[], int size) {
- for (int i = 0; i < size; i++) {
- if (strstr((ptr[i].Жанр), название) != NULL) {
- Поиск_по_жанру(ptr + i + 1, название, size - i - 1);
- if ((size - i) == 10) {
- if (название[0] >= 65 && название[0] <= 90) название[0] += 32;
- else if (название[0] >= 97 && название[0] <= 122) название[0] -= 32;
- else if (название[0] >= -64 && название[0] <= -33) название[0] += 32;
- else if (название[0] >= -32 && название[0] <= -1) название[0] -= 32;
- else if (название[0] == -88) название[0] == -72;
- else if (название[0] == -72) название[0] == -88;
- for (int j = 0; j < size; j++) {
- if (strstr((ptr[j].Жанр), название) != NULL) {
- Поиск_по_жанру(ptr + j + 1, название, size - j - 1);
- Поиск_по_жанру(ptr + j, название, size - (size - 1));
- return show(&ptr[i]);
- }
- }
- }
- return show(&ptr[i]);
- }
- else if ((size - i) == 10) {
- Поиск_по_жанру(ptr + i + 1, название, size - i - 1);
- if (название[0] >= 65 && название[0] <= 90) название[0] += 32;
- else if (название[0] >= 97 && название[0] <= 122) название[0] -= 32;
- else if (название[0] >= -64 && название[0] <= -33) название[0] += 32;
- else if (название[0] >= -32 && название[0] <= -1) название[0] -= 32;
- else if (название[0] == -88) название[0] == -72;
- else if (название[0] == -72) название[0] == -88;
- for (int j = 0; j < size; j++) {
- if (strstr((ptr[j].Жанр), название) != NULL) {
- Поиск_по_жанру(ptr + j + 1, название, size - j - 1);
- return show(&ptr[j]);
- }
- }
- }
- }
- }
- void Поиск_по_режиссёру(ВИДЕОМАГАЗИН* ptr, char название[], int size) {
- for (int i = 0; i < size; i++) {
- if (strstr((ptr[i].Режиссёр), название) != NULL) {
- Поиск_по_режиссёру(ptr + i + 1, название, size - i - 1);
- if ((size - i) == 10) {
- if (название[0] >= 65 && название[0] <= 90) название[0] += 32;
- else if (название[0] >= 97 && название[0] <= 122) название[0] -= 32;
- else if (название[0] >= -64 && название[0] <= -33) название[0] += 32;
- else if (название[0] >= -32 && название[0] <= -1) название[0] -= 32;
- else if (название[0] == -88) название[0] == -72;
- else if (название[0] == -72) название[0] == -88;
- for (int j = 0; j < size; j++) {
- if (strstr((ptr[j].Режиссёр), название) != NULL) {
- Поиск_по_режиссёру(ptr + j + 1, название, size - j - 1);
- Поиск_по_режиссёру(ptr + j, название, size - (size - 1));
- return show(&ptr[i]);
- }
- }
- }
- return show(&ptr[i]);
- }
- else if ((size - i) == 10) {
- Поиск_по_режиссёру(ptr + i + 1, название, size - i - 1);
- if (название[0] >= 65 && название[0] <= 90) название[0] += 32;
- else if (название[0] >= 97 && название[0] <= 122) название[0] -= 32;
- else if (название[0] >= -64 && название[0] <= -33) название[0] += 32;
- else if (название[0] >= -32 && название[0] <= -1) название[0] -= 32;
- else if (название[0] == -88) название[0] == -72;
- else if (название[0] == -72) название[0] == -88;
- for (int j = 0; j < size; j++) {
- if (strstr((ptr[j].Режиссёр), название) != NULL) {
- Поиск_по_режиссёру(ptr + j + 1, название, size - j - 1);
- return show(&ptr[j]);
- }
- }
- }
- }
- }
- ВИДЕОМАГАЗИН* temp;
- float look = 0.0;
- void Самый_популярный_фильм_в_жанре(ВИДЕОМАГАЗИН* ptr, char название[], int size) {
- for (int i = 0; i < size; i++) {
- if (strstr((ptr[i].Жанр), название) != NULL) {
- Самый_популярный_фильм_в_жанре(ptr + i + 1, название, size - i - 1);
- if ((size - i) == 10) {
- if (название[0] >= 65 && название[0] <= 90) название[0] += 32;
- else if (название[0] >= 97 && название[0] <= 122) название[0] -= 32;
- else if (название[0] >= -64 && название[0] <= -33) название[0] += 32;
- else if (название[0] >= -32 && название[0] <= -1) название[0] -= 32;
- else if (название[0] == -88) название[0] == -72;
- else if (название[0] == -72) название[0] == -88;
- for (int j = 0; j < size; j++) {
- if (strstr((ptr[j].Жанр), название) != NULL) {
- Самый_популярный_фильм_в_жанре(ptr + j + 1, название, size - j - 1);
- Самый_популярный_фильм_в_жанре(ptr + j, название, size - (size - 1));
- if (ptr[i].Рейтинг_популярности > look) { ::temp = &ptr[i]; ::look = ptr[i].Рейтинг_популярности; }
- }
- }
- }
- if (ptr[i].Рейтинг_популярности > look) { ::temp = &ptr[i]; ::look = ptr[i].Рейтинг_популярности; }
- }
- else if ((size - i) == 10) {
- Самый_популярный_фильм_в_жанре(ptr + i + 1, название, size - i - 1);
- if (название[0] >= 65 && название[0] <= 90) название[0] += 32;
- else if (название[0] >= 97 && название[0] <= 122) название[0] -= 32;
- else if (название[0] >= -64 && название[0] <= -33) название[0] += 32;
- else if (название[0] >= -32 && название[0] <= -1) название[0] -= 32;
- else if (название[0] == -88) название[0] == -72;
- else if (название[0] == -72) название[0] == -88;
- for (int j = 0; j < size; j++) {
- if (strstr((ptr[j].Жанр), название) != NULL) {
- Самый_популярный_фильм_в_жанре(ptr + j + 1, название, size - j - 1);
- if (ptr[j].Рейтинг_популярности > look) { ::temp = &ptr[j]; ::look = ptr[j].Рейтинг_популярности; }
- }
- }
- }
- }
- }
- int main()
- {
- setlocale(LC_ALL, "RUS");
- system("chcp 1251");
- system("cls");
- ВИДЕОМАГАЗИН* массив = new ВИДЕОМАГАЗИН[10];
- массив[0] = { "The Shawshank Redemption","Frank Darabont","Драма",9.3,349.00 };
- массив[1] = { "The Godfather","Francis Ford Coppola","Криминальная драма",9.2,310.00 };
- массив[2] = { "The Godfather: Part II","Francis Ford Coppola","Криминальная драма",9.0,310.00 };
- массив[3] = { "The Dark Knight","Christopher Nolan","Криминальная драма, боевик",9.0,2790.00 };
- массив[4] = { "12 Angry Men","Sidney Lumet","Криминальная драма",9.0,130.00 };
- массив[5] = { "Schindler's List","Steven Spielberg","Историческая драма",8.9,726.00 };
- массив[6] = { "The Lord of the Rings: The Return of the King","Peter Jackson","Приключенческая драма",8.9,330.00 };
- массив[7] = { "Pulp Fiction","Quentin Tarantino","Криминальная драма",8.8,237.00 };
- массив[8] = { "Il buono, il brutto, il cattivo","Sergio Leone","Вестерн",8.8,229.00 };
- массив[9] = { "Fight Club","David Fincher","Драма",8.8,342.00 };
- char action;
- cout << "Добро пожаловать в меню ВИДЕОМАГАЗИНА\n\nВведите действие: " << endl << "\"1\" Поиск по названию\n";
- cout << "\"2\" Поиск по жанру\n\"3\" Поиск по режиссеру\n\"4\" Самый популярный фильм в жанре\n";
- cout << "\"5\" Показ всех записей и добавление\n";
- do {
- cin >> action;
- } while (action < 49 || action>53);
- if (action == '1') {
- char inp[256];
- cin.ignore();
- gets_s(inp, 255);
- Поиск_по_названию(массив, inp, _msize(массив) / sizeof(ВИДЕОМАГАЗИН));
- }
- if (action == '2') {
- char inp[32];
- cin.ignore();
- gets_s(inp, 31);
- Поиск_по_жанру(массив, inp, _msize(массив) / sizeof(ВИДЕОМАГАЗИН));
- }
- if (action == '3') {
- char inp[32];
- cin.ignore();
- gets_s(inp, 31);
- Поиск_по_режиссёру(массив, inp, _msize(массив) / sizeof(ВИДЕОМАГАЗИН));
- }
- if (action == '4') {
- char inp[32];
- cin.ignore();
- gets_s(inp, 31);
- Самый_популярный_фильм_в_жанре(массив, inp, _msize(массив) / sizeof(ВИДЕОМАГАЗИН));
- show(temp);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement