Форум программистов, компьютерный форум CyberForum.ru

Структура. Поиск по структуре. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Поменять ячейки местами http://www.cyberforum.ru/cpp-beginners/thread243934.html
Необходимо поменять в рандомно заполненном массиве соседние ячейки местами и вывести сначала то, что было изначально, а затем изменённую последовательность. Я понимаю, что это легко, но на меня навалилась гора работы, а спохватился я поздно. Помогите, пожалуйста!!!
C++ Дан список, элементы которого являются целыми числами. Дан список, элементы которого являются целыми числами. Имеются ли в списке 2 группы равных элементов? http://www.cyberforum.ru/cpp-beginners/thread243907.html
C++ Прекращена работа программы
Написал программу. Суть в следующем - создаешь ее ярлык с заданными параметрами и при запуске с компьютером происходят след. действия: выключение, выход из системы и перезагрузка. Компилируется без ошибок, однако при тестовом запуске (с параметрами и без) программа говорит "Прекращена работа ..." (Windows 7) и закрывается. С++ изучаю первый день, пишу лабораторную на работу с консолью, нужна Ваша...
Преобразовать массив, увеличив первую/последнюю/все серии наибольшей длины на один элемент C++
Вот задача Дан целочисленный массив размера N. Преобразовать массив, увеличив первую1|последнюю2|все3 серии наибольшей длины на один элемент. буду очень блогадарен)
C++ Динамическая структура данных С++ http://www.cyberforum.ru/cpp-beginners/thread243894.html
Всем огромный привет! :) Начали учить эту тему, ещё до конца не разобрался, а уже прогу делать надо. Вот задание: Дана очередь на основе двусвязного списка. Информационная часть структуры: ISBN Автор Название Год Предусмотреть такие операции со структурой: Вывод на экран содержимого СД Добавление элементов в СД
C++ создайте блок-схему пожалусто подробнее

Показать сообщение отдельно
notgosu
8 / 8 / 1
Регистрация: 16.02.2011
Сообщений: 17
16.02.2011, 22:04  [ТС]     Структура. Поиск по структуре.
Цитата Сообщение от ForEveR Посмотреть сообщение
notgosu, А. strcmp сравнивает учитывая регистр. stricmp без учета
Угу, поэтому и заменил для удобства.

Добавлено через 1 час 4 минуты
Вот доделал. Может будет кому-то полезно, кто как и я по урокам Шага учит язык.
1. Создать структуру ВИДЕОМАГАЗИН со следующими полями:

-Название фильма
-Режиссер
-Жанр
-Рейтинг популярности
-Цена диска

Реализовать следующие возможности:
-Поиск по названию
-Поиск по жанру
-Поиск по режиссеру
-Самый популярный фильм в жанре
-Показ всех записей и добавление

Код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
#include<iostream>
#include<string.h>
#include<stdio.h>
using namespace std;
 
 
//обьявление структуры
int const col=5;
struct video
{
    char name[40];
    char regis[40];
    char genre[40];
    int rate;
    int price;
}film[col];
 
//прототипы ф-ций
void AddInfo();
void Searchname(char *name);
void Searchgenre(char *genre);
void Searchregis(char *regis);
void Searchpop(char *popgenre);
void ShowAll();
 
//главная программа
void main()
{
        char name[20],genre[20], regis[20],popgenre[20], choice;
        setlocale(LC_ALL, "rus");
        //меню
        do{
        cout<<"Выберите требуемое действие:\n1-Добавить информацию о фильме...\n2-Поиск фильма по названию...\n";
        cout<<"3-Поиск по жанру...\n4-Поиск по режиссеру...\n5-Самый популярный фильм в жанре...\n6-Показать все фильмы...\n7-Выход...\n";
        cin>>choice;
        switch(choice){
                case '1':
                        AddInfo();
                break;
                case '2':
                        cout<<"Введите название фильма\n";
                        cin>>name;
                        Searchname(name);
                break;
                case '3':
                        cout<<"Введите жанр фильма\n";
                        cin>>genre;
                        Searchgenre(genre);
                break;
                case '4':
                    cout<<"Введите режиссера\n";
                    cin>>regis;
                    Searchregis(regis);
                break;
                case '5':
                    cout<<"Введите жанр фильма\n";
                    cin>>popgenre;
                    Searchpop(popgenre);
                break;
                case '6':
                    ShowAll();
                break;
                case '7':
                    exit(0);
                break;
                default:
                    cout<<"Неправильный выбор\n";
                    break;
        }
        }
        while (choice != '7');
}
 
//ф-ция добавления информации
void AddInfo()
{   
    int k;
    cout<<"Введите кол-во записей:\n";
    cin>>k;
    for (int i=0; i<k; i++){
        cout<<"Введите название фильма["<<i<<"]:\n";
        cin>>film[i].name;
        cout<<"Введите режиссера фильма["<<i<<"]:\n";
        cin>>film[i].regis;
        cout<<"Введите жанр фильма["<<i<<"]:\n";
        cin>>film[i].genre;
        cout<<"Введите рейтинг фильма["<<i<<"]:\n";
        cin>>film[i].rate;
        cout<<"Введите цену на диск с фильмом["<<i<<"]:\n";
        cin>>film[i].price;
    }
}
 
//ф-ция поиска по названию
void Searchname(char *name)
{       
        for(int i=0; i<col;i++){
                if (_stricmp(name, film[i].name)==0){
                        cout<<"Название фильма: "<<film[i].name<<"\n";
                        cout<<"Режиссер фильма: "<<film[i].regis<<"\n";
                        cout<<"Жанр фильма: "<<film[i].genre<<"\n";
                        cout<<"Рейтинг фильма: "<<film[i].rate<<"\n";
                        cout<<"Цена диска с фильмом: "<<film[i].price<<"\n";
                        cout<<"##########################\n";
                }
                else 
                    cout<<"Фильм с таким названием не найден\n";
        }
        
}
//ф-ция поиска по жанру
void Searchgenre(char *genre)
{       
        for(int i=0; i<col;i++){
                if (_stricmp(genre, film[i].genre)==0){
                        cout<<"Название фильма: "<<film[i].name<<"\n";
                        cout<<"Режиссер фильма: "<<film[i].regis<<"\n";
                        cout<<"Жанр фильма: "<<film[i].genre<<"\n";
                        cout<<"Рейтинг фильма: "<<film[i].rate<<"\n";
                        cout<<"Цена диска с фильмом: "<<film[i].price<<"\n";
                        cout<<"##########################\n";
                }
                else 
                    cout<<"Фильм такого жанра не найден\n";
        }
        
}
 
//ф-ция поиска по режиссеру
void Searchregis(char *regis)
{       
        for(int i=0; i<col;i++){
                if (_stricmp(regis, film[i].regis)==0){
                        cout<<"Название фильма: "<<film[i].name<<"\n";
                        cout<<"Режиссер фильма: "<<film[i].regis<<"\n";
                        cout<<"Жанр фильма: "<<film[i].genre<<"\n";
                        cout<<"Рейтинг фильма: "<<film[i].rate<<"\n";
                        cout<<"Цена диска с фильмом: "<<film[i].price<<"\n";
                        cout<<"##########################\n";
                }
                else 
                    cout<<"Фильм этого режиссера не найден\n";
        }
        
}
 
//Ф-ция поиска самого популярного фильма в жанре
void Searchpop(char *popgenre)
{       
        int max=0,maxnum;
        for(int i=0; i<col;i++){
                if (_stricmp(popgenre, film[i].genre)==0){
                    if (film[i].rate>max){
                        max=film[i].rate;
                        maxnum=i;
                    }
                }
                else 
                    cout<<"Фильм этого режиссера не найден\n";
        }
        cout<<"САМЫЙ ПОПУЛЯРНЫЙ ФИЛЬМ В ЖАНРЕ:\n";
        cout<<"Название фильма: "<<film[maxnum].name<<"\n";
        cout<<"Режиссер фильма: "<<film[maxnum].regis<<"\n";
        cout<<"Жанр фильма: "<<film[maxnum].genre<<"\n";
        cout<<"Рейтинг фильма: "<<film[maxnum].rate<<"\n";
        cout<<"Цена диска с фильмом: "<<film[maxnum].price<<"\n";
        cout<<"##########################\n";
        
}
 
//ф-ция показа всех фильмов
void ShowAll()
{   
    for (int i=0; i<col; i++){
        cout<<"Название фильма: "<<film[i].name<<"\n";
        cout<<"Режиссер фильма: "<<film[i].regis<<"\n";
        cout<<"Жанр фильма: "<<film[i].genre<<"\n";
        cout<<"Рейтинг фильма: "<<film[i].rate<<"\n";
        cout<<"Цена диска с фильмом: "<<film[i].price<<"\n";
        cout<<"##########################\n";
    }
}
 
Текущее время: 00:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru