Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 05.12.2020
Сообщений: 81

При компиляции выскакивает ошибка "error: ISO C++ forbids comparison between pointer and integer [-fpermissive]"

03.06.2021, 22:40. Показов 1004. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот сама ошибка
error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
137 | if(temp3<=mas[i].name && temp4>=mas[i].name)
| ^~~~
error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
137 | if(temp3<=mas[i].name && temp4>=mas[i].name)
| ^~~~
error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
162 | if(temp5<=mas[i].avtor && temp6>=mas[i].avtor)
| ^~~~~
error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
162 | if(temp5<=mas[i].avtor && temp6>=mas[i].avtor)
| ^~~~~

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
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <windows.h>
 
using namespace std;
 
struct muz  // структура музей: инвентарный номер, название, автор, год.  
{
    float nomer;
    char name[30];   
    char avtor[30];
    int god;  
};
 
struct muz mas[30]; //объявляем глобальный массив структур
struct muz tmp; //объявляем  переменную структурного типа
int sch=0; //счетчик полных записей
int er; //переключатель
 
// прототипы функций
int menu();       // прототипы функции меню
void enter_new(); //прототипы функции ввода 
void find();      // прототипы функции поиска
void change();    //прототипы функции изменения
void del();       // прототипы функции удаления
void out();       // прототипы функции вывода
 
 
int menu()
{
    int er;
     cout<<"МЕНЮ:\n";
     cout<<"1-для ввода новой записи\n";
     cout<<"2-для поиска\n";
     cout<<"3-для изменения записи \n"; 
     cout<<"4-для удаления записи \n";
     cout<<"5-для вывода массива на экран\n";
     cout<<"6-для выхода\n";
     cin>>er;
    return er;
}
 
int main()
{
     setlocale(LC_ALL,"Russian");
     while(1)
     { 
         switch(menu())
         { 
           case 1:enter_new();break;
           case 2:find();break;
           case 3:change();break;
           case 4:del();break;
           case 5:out();break;
           case 6:return 0;
           default: cout<<"не верный выбор/n";
         }
     }
}
 
void enter_new() // ф-ция ввода новой структуры 
{
 char c='1';
 while(c=='1')
 {
 
    if(sch<=30) //вводим новую запись только, если счетчик полных записей меньше максимального количества записей
     {
         cout<<"экспонат  "<<sch+1; //вводим номер записи
         cout<<"\n введите регистрационный номер \n";
         cin>>mas[sch].nomer;
         cout<<"введите название \n";
         cin>>mas[sch].name;
         cout<<"введите автора \n";
         cin>>mas[sch].avtor;
         cout<<"введите год\n";
         cin>>mas[sch].god;
         sch++; //увеличиваем счетчик полных записей на ед.
     }else cout<<"введено максимальное количество записей \n";
        cout<<"\n Для продолжения ввода нажниме 1, для выхода в меню 2   \n";
        cin >>c;
 }
}
 
 
 
void find()
{
    int sw, k=0;  // переключатель
    if(sch==0) 
    {
        cout<<"\n Нет запиcей: \n"; 
    }
    else 
    { 
        cout<<"\n Введите: \n"; 
        cout<<"1-поиск по регистрационный номеру \n"; 
        cout<<"2-поиск по названию\n"; 
        cout<<"3-поиск по автору\n"; 
        cout<<"4-поиск по году\n"; 
        cin>>sw; 
        
        if(sw==1) 
        {
           
            {
            int temp1, temp2;
            cout<<"введите номер поиска от и до:";
            cin>>temp1>>temp2;
            for (int i=0 ; i<sch ; i++)
            {
                if(temp1<=mas[i].nomer && temp2>=mas[i].nomer)
                {
                     k++;
                         cout<<"регистрационный номер:"<<mas[i].nomer<<endl;
                         cout<<"название:"<<mas[i].name<<endl;
                         cout<<"автор:"<<mas[i].avtor<<endl;
                         cout<<"год:"<<mas[i].god<<endl;; 
                         cout<<"____________"<<endl; 
                }
            }   
                if (k==0) cout << "нет данных"<<endl; 
                
                
        }   
        }
         
        if(sw==2) 
        {
           
            {
            int temp3, temp4;
            cout<<"введите название поиска от и до:";
            cin>>temp3>>temp4;
            for (int i=0 ; i<sch ; i++)
            {
                if(temp3<=mas[i].name && temp4>=mas[i].name)
                {
                     k++;
                         cout<<"регистрационный номер:"<<mas[i].nomer<<endl;
                         cout<<"название:"<<mas[i].name<<endl;
                         cout<<"автор:"<<mas[i].avtor<<endl;
                         cout<<"год:"<<mas[i].god<<endl;; 
                         cout<<"____________"<<endl; 
                }
            }   
                if (k==0) cout << "нет данных"<<endl; 
                
                
        }   
        }
         
        if(sw==3) 
        {
           
            {
            int temp5, temp6;
            cout<<"введите автор поиска от и до:";
            cin>>temp5>>temp6;
            for (int i=0 ; i<sch ; i++)
            {
                if(temp5<=mas[i].avtor && temp6>=mas[i].avtor)
                {
                     k++;
                         cout<<"регистрационный номер:"<<mas[i].nomer<<endl;
                         cout<<"название:"<<mas[i].name<<endl;
                         cout<<"автор:"<<mas[i].avtor<<endl;
                         cout<<"год:"<<mas[i].god<<endl;; 
                         cout<<"____________"<<endl; 
                }
            }   
                if (k==0) cout << "нет данных"<<endl; 
                
                
        }   
        }
        if(sw==4)
        {
            int temp7, temp8;
            cout<<"введите год поиска от и до:";
            cin>>temp7>>temp8;
            for (int i=0 ; i<sch ; i++)
            {
                if(temp7<=mas[i].god && temp8>=mas[i].god)
                {
                     k++;
                         cout<<"регистрационный номер:"<<mas[i].nomer<<endl;
                         cout<<"название:"<<mas[i].name<<endl;
                         cout<<"автор:"<<mas[i].avtor<<endl;
                         cout<<"год:"<<mas[i].god<<endl;; 
                         cout<<"____________"<<endl; 
                }
            }   
                if (k==0) cout << "нет данных"<<endl; 
                
                
        }   
    }
}
 
void change() //функция изменения записи
{ 
    int c; //номер записи которую нужно изменить
    int per;
    cout<<"\nвведите номер записи для изменения \n";
    cin>> c;
    do
     {
        cout<<"введите : \n";
        cout<<"1-для изменения регистрационного номера\n";
        cout<<"2-для изменения название\n";
        cout<<"3-для изменения автора\n";
        cout<<"4-для изменения года\n";
        cout<<"5-для прекращения\n";
        cin>>per;
        switch (per)
         { 
             case 1: cout<<"\nвведите новый номер\n";
                     cin>>mas[c-1].nomer;
                     break;
             case 2: cout<<"\nвведите новое название\n";
                     cin>>mas[c-1].name;
                     break;
             case 3: cout<<"введите нового автора\n";
                     cin>>mas[c-1].avtor;
                     break;
             case 4: cout<<"введите новый год\n";
                     cin>>mas[c-1].god;
                     break;
             case 5:return;
         }
     }while(1);
}
 
void del() //ф-ция удаления записи 
{
    int d; //номер записи которую нужно удалить 
    cout<<"\nвведите номер записи,которую нужно удалить\n";
    cout<<"если необходимо удалить все записи,нажмите  '99'\n";
    cin>>d;
     if (d!=99)
     { 
        for (int i=(d-1);i<sch;i++) //цикл для удаления заданной записи ,начинаем цикл с удаляемой записи 
        mas[i]=mas[i+1]; //замещаем текущую запись следующей за ней
        sch=sch-1; //уменьшаем счетчик полных записей на  1
     }
     if (d==99) 
     { 
        for(int i=0;i<30;i++)//цикл по всем записям от перой до 30-ой
        mas[i]=tmp; //замещаем каждую структуру в  массиве пустой структурой 
        sch=0; //счетчик структур обнуляем
     }
}
 
void out() //ф-ция вывода записей
{
     //int sw; // переключатель для выбора 
     int k; //номер структуры ,кот. надо вывести 
     if (sch==0) //если счетчик количества структур равен 0 ,то выводим , что нет записей
     {
        cout<<"\nнет записей: \n";
     }
     else
     {
          
                for(int i=0;i<sch;i++) //выводим в цикле все записи
                {
                         cout<< "~ " <<i+1<<" ~"<<endl;
                         cout<<"регистрационный номер:"<<mas[i].nomer<<endl;
                         cout<<"название:"<<mas[i].name<<endl;
                         cout<<"автор:"<<mas[i].avtor<<endl;
                         cout<<"год:"<<mas[i].god<<endl;; 
                         cout<<"____________"<<endl; 
                }
         
     }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.06.2021, 22:40
Ответы с готовыми решениями:

Ошибка при компиляции: iso c++ forbids comparison between pointer and integer -fpermissive
помогите решить проблему. ошибка при компиляции &quot;error iso c++ forbids comparison between pointer and integer -fpermissive&quot; в строке...

[Error] ISO C++ forbids comparison between pointer and integer [-fpermissive]
Ошибка в строке со *. Подскажите в чем проблема? суть задания : из данного двумерного массива char , сделать строку состоящую только...

ISO C++ forbids comparison between pointer and integer [-fpermissive]| на 26 строке
#include &lt;locale.h&gt; #include &lt;math.h&gt; #include &lt;stdio.h&gt; struct klass{ char fam; int nom, shkola; }; int...

17
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12927 / 6795 / 1819
Регистрация: 18.10.2014
Сообщений: 17,193
03.06.2021, 22:43
Цитата Сообщение от sashami Посмотреть сообщение
if(temp3<=mas[i].name && temp4>=mas[i].name)
Так а что это? Что это должно делать?
0
0 / 0 / 0
Регистрация: 05.12.2020
Сообщений: 81
03.06.2021, 22:46  [ТС]
TheCalligrapher, это для создания поиска по номеру
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12927 / 6795 / 1819
Регистрация: 18.10.2014
Сообщений: 17,193
03.06.2021, 22:48
Цитата Сообщение от sashami Посмотреть сообщение
это для создания поиска по номеру
Не понял. Если это "поиск по номеру", то почему в нем сравнение делается с name? При чем здесь name вообще???
0
0 / 0 / 0
Регистрация: 05.12.2020
Сообщений: 81
03.06.2021, 22:55  [ТС]
TheCalligrapher, я и спрашиваю в чём может быть тут проблема потому что эта часть работает правильно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 {
            int temp1, temp2;
            cout<<"введите номер поиска от и до:";
            cin>>temp1>>temp2;
            for (int i=0 ; i<sch ; i++)
            {
                if(temp1<=mas[i].nomer && temp2>=mas[i].nomer)
                {
                     k++;
                         cout<<"регистрационный номер:"<<mas[i].nomer<<endl;
                         cout<<"название:"<<mas[i].name<<endl;
                         cout<<"автор:"<<mas[i].avtor<<endl;
                         cout<<"год:"<<mas[i].god<<endl;; 
                         cout<<"____________"<<endl; 
                }
            }   
                if (k==0) cout << "нет данных"<<endl; 
                
                
        }   
        }
Добавлено через 4 минуты
TheCalligrapher, ой по названию
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12927 / 6795 / 1819
Регистрация: 18.10.2014
Сообщений: 17,193
03.06.2021, 23:03
Цитата Сообщение от sashami Посмотреть сообщение
ой по названию
Не понял. "По названию"? Что тогда такое temp3 и temp4?
0
0 / 0 / 0
Регистрация: 05.12.2020
Сообщений: 81
03.06.2021, 23:26  [ТС]
TheCalligrapher, temp 3,4 - это переменная целого типа

Добавлено через 2 минуты
TheCalligrapher, мне необходимо сделать поиск первый поиск сделать по регистрационному номеру, второй поиск по названию, тритий автору, а четвёртый по году
ВОТ эти
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 {
            int temp1, temp2;
            cout<<"введите номер поиска от и до:";
            cin>>temp1>>temp2;
            for (int i=0 ; i<sch ; i++)
            {
                if(temp1<=mas[i].nomer && temp2>=mas[i].nomer)
                {
                     k++;
                         cout<<"регистрационный номер:"<<mas[i].nomer<<endl;
                         cout<<"название:"<<mas[i].name<<endl;
                         cout<<"автор:"<<mas[i].avtor<<endl;
                         cout<<"год:"<<mas[i].god<<endl;; 
                         cout<<"____________"<<endl; 
                }
            }   
                if (k==0) cout << "нет данных"<<endl; 
                
                
        }   
        }
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
03.06.2021, 23:27
sashami, я для кого всё написал и расписал в теме
Ошибка в структуре

Вы опять бездумно пытаетесь подогнать всё под блок поиска года, который у Вас ошибочен (написан НЕПРАВИЛЬНО). ещё раз:
Цитата Сообщение от Yetty Посмотреть сообщение
не используйте транслит в названиях:
struct Museum
{
    int number;
    string name;
    string author;
    int year;
};

// поиск по году
    int k=0, find_year;
    cout << "Введите год: "; cin >> find_year;
    for (int i = 0; i < n; i++)    
        if(data[i].year==find_year)
        {
             k=1;
             cout << data[i].number << " " << data[i].name << " " << data[i].author << " " << data[i].year << "\n";                      
        }
if(k==0) cout << "Данные не найдены\n";
0
0 / 0 / 0
Регистрация: 05.12.2020
Сообщений: 81
03.06.2021, 23:41  [ТС]
Yetty, теперь выдаёт ошибку error: ‘data’ was not declared in this scope
if(data[i].god==find_god)
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
03.06.2021, 23:56
sashami, это у меня так массив называется data. у Вас название массива mas, поменяйте (просто mas - это транслит - русский записанный латиницей, транслит использовать нежелательно)

Добавлено через 5 минут
sashami, реагируйте на то что Вам говорят. структуру:
Цитата Сообщение от sashami Посмотреть сообщение
struct muz  // структура музей: инвентарный номер, название, автор, год.  
{
    float nomer;
    char name[30];  
    char avtor[30];
    int god;  
};
запишите так:
Цитата Сообщение от Yetty Посмотреть сообщение
struct Museum
{
    int number;
    string name;
    string author;
    int year;
};
0
0 / 0 / 0
Регистрация: 05.12.2020
Сообщений: 81
04.06.2021, 00:01  [ТС]
Yetty, error: no match for ‘operator==’ (operand types are ‘std::string {aka std::basic_string}’ and ‘int’)
if(mas[i].name==find_name)
~~~~~~~~~~~^~~~~~~~~~~
[
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
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <windows.h>
 
using namespace std;
 
struct muz  // ñòðóêòóðà ìóçåé: èíâåíòàðíûé íîìåð, íàçâàíèå, àâòîð, ãîä.  
{
    int nomer;
    string name;   
    string avtor;
    int god;  
};
 
struct muz mas[30]; //îáúÿâëÿåì ãëîáàëüíûé ìàññèâ ñòðóêòóð
struct muz tmp; //îáúÿâëÿåì  ïåðåìåííóþ ñòðóêòóðíîãî òèïà
int sch=0; //ñ÷åò÷èê ïîëíûõ çàïèñåé
int er; //ïåðåêëþ÷àòåëü
 
// ïðîòîòèïû ôóíêöèé
int menu();       // ïðîòîòèïû ôóíêöèè ìåíþ
void enter_new(); //ïðîòîòèïû ôóíêöèè ââîäà 
void find();      // ïðîòîòèïû ôóíêöèè ïîèñêà
void change();    //ïðîòîòèïû ôóíêöèè èçìåíåíèÿ
void del();       // ïðîòîòèïû ôóíêöèè óäàëåíèÿ
void out();       // ïðîòîòèïû ôóíêöèè âûâîäà
 
 
int menu()
{
    int er;
     cout<<"ÌÅÍÞ:\n";
     cout<<"1-äëÿ ââîäà íîâîé çàïèñè\n";
     cout<<"2-äëÿ ïîèñêà\n";
     cout<<"3-äëÿ èçìåíåíèÿ çàïèñè \n"; 
     cout<<"4-äëÿ óäàëåíèÿ çàïèñè \n";
     cout<<"5-äëÿ âûâîäà ìàññèâà íà ýêðàí\n";
     cout<<"6-äëÿ âûõîäà\n";
     cin>>er;
    return er;
}
 
int main()
{
     setlocale(LC_ALL,"Russian");
     while(1)
     { 
         switch(menu())
         { 
           case 1:enter_new();break;
           case 2:find();break;
           case 3:change();break;
           case 4:del();break;
           case 5:out();break;
           case 6:return 0;
           default: cout<<"íå âåðíûé âûáîð/n";
         }
     }
}
 
void enter_new() // ô-öèÿ ââîäà íîâîé ñòðóêòóðû 
{
 char c='1';
 while(c=='1')
 {
 
    if(sch<=30) //ââîäèì íîâóþ çàïèñü òîëüêî, åñëè ñ÷åò÷èê ïîëíûõ çàïèñåé ìåíüøå ìàêñèìàëüíîãî êîëè÷åñòâà çàïèñåé
     {
         cout<<"ýêñïîíàò  "<<sch+1; //ââîäèì íîìåð çàïèñè
         cout<<"\n ââåäèòå ðåãèñòðàöèîííûé íîìåð \n";
         cin>>mas[sch].nomer;
         cout<<"ââåäèòå íàçâàíèå \n";
         cin>>mas[sch].name;
         cout<<"ââåäèòå àâòîðà \n";
         cin>>mas[sch].avtor;
         cout<<"ââåäèòå ãîä\n";
         cin>>mas[sch].god;
         sch++; //óâåëè÷èâàåì ñ÷åò÷èê ïîëíûõ çàïèñåé íà åä.
     }else cout<<"ââåäåíî ìàêñèìàëüíîå êîëè÷åñòâî çàïèñåé \n";
        cout<<"\n Äëÿ ïðîäîëæåíèÿ ââîäà íàæíèìå 1, äëÿ âûõîäà â ìåíþ 2   \n";
        cin >>c;
 }
}
void find()
{
    int sw, k=0;  // ïåðåêëþ÷àòåëü
    if(sch==0) 
    {
        cout<<"\n Íåò çàïècåé: \n"; 
    }
    else 
    { 
        cout<<"\n Ââåäèòå: \n"; 
        cout<<"1-ïîèñê ïî ðåãèñòðàöèîííûé íîìåðó \n"; 
        cout<<"2-ïîèñê ïî íàçâàíèþ\n"; 
        cout<<"3-ïîèñê ïî àâòîðó\n"; 
        cout<<"4-ïîèñê ïî ãîäó\n"; 
        cin>>sw; 
        
        if(sw==1) 
        {
           
            {
            int k=0, find_nomer;
              cout << "Ââåäèòå íîìåð: "; 
               cin >> find_nomer;
                for (int i = 0; i < sch; i++)    
                   if(mas[i].nomer==find_nomer)
        {
             k=1;
             cout << mas[i].nomer << " " << mas[i].name << " " << mas[i].avtor << " " << mas[i].god << "\n";                      
        }
 
    if(k==0) cout << "Äàííûå íå íàéäåíû\n";
 
                
        }   
        }
         
        if(sw==2) 
        {
           
            {
            int k=0, find_name;
              cout << "Ââåäèòå íàçâàíèå: "; 
               cin >> find_name;
                for (int i = 0; i < sch; i++)    
                   if(mas[i].name==find_name)
        {
             k=1;
             cout << mas[i].nomer << " " << mas[i].name << " " << mas[i].avtor << " " << mas[i].god << "\n";                      
        }
 
    if(k==0) cout << "Äàííûå íå íàéäåíû\n";
 
                
        }   
        }
         
        if(sw==3) 
        {
           
            {
            int k=0, find_god;
              cout << "Ââåäèòå ãîä: "; 
               cin >> find_god;
                for (int i = 0; i < sch; i++)    
                   if(mas[i].god==find_god)
        {
             k=1;
             cout << mas[i].nomer << " " << mas[i].name << " " << mas[i].avtor << " " << mas[i].god << "\n";                      
        }
 
    if(k==0) cout << "Äàííûå íå íàéäåíû\n";
 
                
        }   
        }
       if(sw==4) 
        {
           
            {
            int k=0, find_avtor;
              cout << "Ââåäèòå àâòîðà: "; 
               cin >> find_avtor;
                for (int i = 0; i < sch; i++)    
                   if(mas[i].avtor==find_avtor)
        {
             k=1;
             cout << mas[i].nomer << " " << mas[i].name << " " << mas[i].avtor << " " << mas[i].god << "\n";                      
        }
 
    if(k==0) cout << "Äàííûå íå íàéäåíû\n";
 
                
        }   
        } 
    }
}
 
void change() //ôóíêöèÿ èçìåíåíèÿ çàïèñè
{ 
    int c; //íîìåð çàïèñè êîòîðóþ íóæíî èçìåíèòü
    int per;
    cout<<"\nââåäèòå íîìåð çàïèñè äëÿ èçìåíåíèÿ \n";
    cin>> c;
    do
     {
        cout<<"ââåäèòå : \n";
        cout<<"1-äëÿ èçìåíåíèÿ ðåãèñòðàöèîííîãî íîìåðà\n";
        cout<<"2-äëÿ èçìåíåíèÿ íàçâàíèå\n";
        cout<<"3-äëÿ èçìåíåíèÿ àâòîðà\n";
        cout<<"4-äëÿ èçìåíåíèÿ ãîäà\n";
        cout<<"5-äëÿ ïðåêðàùåíèÿ\n";
        cin>>per;
        switch (per)
         { 
             case 1: cout<<"\nââåäèòå íîâûé íîìåð\n";
                     cin>>mas[c-1].nomer;
                     break;
             case 2: cout<<"\nââåäèòå íîâîå íàçâàíèå\n";
                     cin>>mas[c-1].name;
                     break;
             case 3: cout<<"ââåäèòå íîâîãî àâòîðà\n";
                     cin>>mas[c-1].avtor;
                     break;
             case 4: cout<<"ââåäèòå íîâûé ãîä\n";
                     cin>>mas[c-1].god;
                     break;
             case 5:return;
         }
     }while(1);
}
 
void del() //ô-öèÿ óäàëåíèÿ çàïèñè 
{
    int d; //íîìåð çàïèñè êîòîðóþ íóæíî óäàëèòü 
    cout<<"\nââåäèòå íîìåð çàïèñè,êîòîðóþ íóæíî óäàëèòü\n";
    cout<<"åñëè íåîáõîäèìî óäàëèòü âñå çàïèñè,íàæìèòå  '99'\n";
    cin>>d;
     if (d!=99)
     { 
        for (int i=(d-1);i<sch;i++) //öèêë äëÿ óäàëåíèÿ çàäàííîé çàïèñè ,íà÷èíàåì öèêë ñ óäàëÿåìîé çàïèñè 
        mas[i]=mas[i+1]; //çàìåùàåì òåêóùóþ çàïèñü ñëåäóþùåé çà íåé
        sch=sch-1; //óìåíüøàåì ñ÷åò÷èê ïîëíûõ çàïèñåé íà  1
     }
     if (d==99) 
     { 
        for(int i=0;i<30;i++)//öèêë ïî âñåì çàïèñÿì îò ïåðîé äî 30-îé
        mas[i]=tmp; //çàìåùàåì êàæäóþ ñòðóêòóðó â  ìàññèâå ïóñòîé ñòðóêòóðîé 
        sch=0; //ñ÷åò÷èê ñòðóêòóð îáíóëÿåì
     }
}
 
void out() //ô-öèÿ âûâîäà çàïèñåé
{
     //int sw; // ïåðåêëþ÷àòåëü äëÿ âûáîðà 
     int k; //íîìåð ñòðóêòóðû ,êîò. íàäî âûâåñòè 
     if (sch==0) //åñëè ñ÷åò÷èê êîëè÷åñòâà ñòðóêòóð ðàâåí 0 ,òî âûâîäèì , ÷òî íåò çàïèñåé
     {
        cout<<"\níåò çàïèñåé: \n";
     }
     else
     {
          
                for(int i=0;i<sch;i++) //âûâîäèì â öèêëå âñå çàïèñè
                {
                         cout<< "~ " <<i+1<<" ~"<<endl;
                         cout<<"ðåãèñòðàöèîííûé íîìåð:"<<mas[i].nomer<<endl;
                         cout<<"íàçâàíèå:"<<mas[i].name<<endl;
                         cout<<"àâòîð:"<<mas[i].avtor<<endl;
                         cout<<"ãîä:"<<mas[i].god<<endl;; 
                         cout<<"____________"<<endl; 
                }
         
     }
}
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
04.06.2021, 00:07
sashami, если Вы не считаете нужным исправлять то, что Вам советуют, зачем обращаетесь ?
Цитата Сообщение от sashami Посмотреть сообщение
struct muz  // ñòðóêòóðà ìóçåé: èíâåíòàðíûé íîìåð, íàçâàíèå, àâòîð, ãîä.  
{
    int nomer;
    string name;  
    string avtor;
    int god;  
};
Цитата Сообщение от Yetty Посмотреть сообщение
struct Museum
{
    int number;
    string name;
    string author;
    int year;
};
НЕ ПИШИТЕ ПЕРЕМЕННЫЕ ТРАНСЛИТОМ

Цитата Сообщение от sashami Посмотреть сообщение
int k=0, find_name;
Вы знаете для каких переменных применяется тип int ?
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12927 / 6795 / 1819
Регистрация: 18.10.2014
Сообщений: 17,193
04.06.2021, 06:09
Цитата Сообщение от sashami Посмотреть сообщение
temp 3,4 - это переменная целого типа
Так а какое отношение эти "переменные целого типа" имеют к "названию"? Вы сказали, что это поиск "по названию". Каким образом и вы собрались засунуть название в "переменные целого типа"?
0
0 / 0 / 0
Регистрация: 05.12.2020
Сообщений: 81
04.06.2021, 08:07  [ТС]
Yetty,
Цитата Сообщение от Yetty Посмотреть сообщение
int k=0, find_name;
Вы знаете для каких переменных применяется тип int ?
используется для целочисленных типов данных
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
04.06.2021, 10:55
sashami, и тебя ничего не смутило в цитируемой строчке? Что там для целочисленных типов данных?
0
0 / 0 / 0
Регистрация: 09.02.2021
Сообщений: 203
04.06.2021, 10:59
Kuzia domovenok, а что там?
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
04.06.2021, 11:03
Msrsis, строчка find_name, по которой, очевидно ищут. Поиск по имени типа.
0
0 / 0 / 0
Регистрация: 09.02.2021
Сообщений: 203
04.06.2021, 11:13
Kuzia domovenok, а что исправить надо? Сам find мли name, я менял name на другие в зависимости от поиска
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.06.2021, 11:13
Помогаю со студенческими работами здесь

Ошибка ISO C++ forbids comparison between pointer and integer
Привет, ребят. Выскакивает ошибка ISO C++ forbids comparison between pointer and integer при компиляции на 85, 125, 135 строках. Помогите...

ISO C++ forbids comparison between pointer and integer|
Вот такая ошибка выходит, кто знает в чем дело, помогите пожалуйста! #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include...

14 ISO C++ forbids comparison between pointer and integer
как исправит эту ошибку ? #include &lt;iostream&gt; using namespace std; int main() { const int MAX = 80; char str ; do { ...

forbids comparison between pointer and integer
int algorithm_KMP (proc* mass,char* newpoint) { int i=0, j=-1, N, M; N = strlen(mass.name); M = strlen(newpoint); ...

C++ forbids comparison between pointer and integer
Такую вот ошибку выбивает в строках 30 и 31. Кто знает - помогите. #include &lt;iostream.h&gt; #include &lt;conio.h&gt; main() { int...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru