Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/41: Рейтинг темы: голосов - 41, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 16.04.2015
Сообщений: 16
1

Ошибка: отсутствует оператор "<<", соответствующий этим операндам

13.05.2015, 23:59. Показов 7608. Ответов 5
Метки нет (Все метки)

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
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <windows.h>
#include <conio.h>
struct Student //объявляем шаблон структуры
{ char fam[15]; //Фамилия
 char im[15]; //Имя
 char oth[15]; //Очество
 char adres[25]; //Адрес
 int  group; //Номер группы
 char reiting[10]; //рейтинг
 int kol[5];// количество студенттов
};
struct Student stud [30]; //объвляем глобальный массив структур
struct Student tmp; //объявляем временую переменную структурного типа
int i,j,n,k;
int sch=0; //Счетчик полных записей
int er; //Переключатель
void enter_new();
int menu();
void out();
void sort();
void del();
void change();
void find();
using namespace std;
int main()
{
setlocale(LC_ALL,"Russian");
while(1)
 { switch(menu())
 { case 1:enter_new();break;
 case 2:sort();break;
 case 3:find();break;
 case 4:change();break;
 case 5:del();break;
 case 6:out();break;
 case 7:return 0;
 default: cout<<"Не верный выбор/n";
 }
puts("Press any kay to continue");
getch ();
system ("cls");
 }
}
int menu()
{
int er;
cout<<"Введите:\n";
cout<<"1-для ввода новой записи\n";
cout<<"2-для сортировки  записи\n";
cout<<"3-для поиска записи\n";
cout<<"4-для изменения записи(ей)\n";
cout<<"5-для удаления  записи \n";
cout<<"6-для выводы записи(ей)\n";
cout <<"7-для выхода\n";
cin>>er;
return er;
}
void enter_new()
{
    if (sch<30)
    {
        cout <<"Студент "<<sch+1<<endl;
        cout <<"Введите фамилию :";
        cin>>stud[sch].fam;
        cout <<"Введите имя :";
        cin>>stud[sch].im;
        cout <<"Введите отчество:";
        cin>>stud[sch].oth;
        cout <<"Введите домашный адресс:";
        cin>>stud[sch].adres;
        cout <<"Введите группу:";
        cin>>stud[sch].group;
        cout <<"Введите рейтинг:";
        cin>>stud[sch].reiting;
        cout<<"Введите кол-во студетов в группе:";
        cin>>stud[sch].kol;                                     // <----------------------------------
 
        sch++;}
    else
        cout<<"Введено максимальное кол-во записей:";
    }
    void sort()
    {
        for(i=0;i<sch-1;i++)
            for(j=i+1;j<sch;j++)
                if (strcmp(stud[i].fam,stud[j].fam)>0)
                {
                    tmp=stud[i];
                    stud[i]=stud[j];
                    stud[j]=tmp;
                }
                cout<<"\n\Resultat:";
                for (i=0;i<sch;i++)
                {
                    cout<<endl;
                    cout <<stud[i].fam<<" ";
                    cout<<stud[i].im<<" ";
                    cout<<stud[i].oth<<" "<<endl;
                }
    }
    void find()
    {
        int sw;
        if (sch==0)
            cout <<"\n Нет записей :\n";
        else
        {
            cout <<"\n Введите : \n";
            cout<<"1-если группа 21 \n";
            cout<<"2- если группа 10\n";
            cin>>sw;
            switch(sw)
            {
            case 1: {
                for(int i=0;i<sch;i++)
                    if (stud[i].group == 21)
                    {
                        cout <<stud[i].fam<<" "<<stud[i].im<<" "<<stud[i].oth<<endl;
                        cout<<"Введите кол-во студентов в группе "<<stud[i].kol<<endl;
                        cout<<"          "<<endl;
                    } break;}
 case 2:
     {
         for(int i=0;i<sch;i++)
             if (stud[i].group==10)
             {
                 cout<<stud[i].fam<<" "<<stud[i].im<<" "<<stud[i].oth<<endl;
                 cout<<"Введите кол-во студентов в группе "<<stud[i].kol<<endl;
                 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";
            cout<<"6-для изменения рейтинга\n";
            cout<<"7-для прекращения\n";
        cin>>per;
switch (per)
    { case 1: cout<<"\nВведите новую фамилию\n";
 cin>>stud[c-1].fam;
 break;
 case 2:
 cout<<"\nВведите новое имя \n";
 cin>>stud[c-1].im;
 break;
 case 3:
 cout<<"Введите новое отчество\n";
 cin>>stud[c-1].oth;
 break;
 case 4:
 cout<<"Введите новый адрес\n";
 cin>>stud[c-1].adres;
 break;
 case 5:
 cout<<"Введите новую группу\n";
 cin>>stud[c-1].group;
 break;
 case 6:
 cout<<"Введите новый рейтинг\n";
 cin>>stud[c-1].reiting;
 break;
 case 7: return;
}
 }
        while(1);
    }
void del()
{
    int d;
    cout<<"\nВведите номер записи, которую необходимо удалить\n";
    cout<<"Если необходимо удалить все записи , нжмите '33'\n";
    cin>>d;
    if(d!=33)
    {
        for(i=(d-1);i<sch;i++)
            stud[i]=stud[i+1];
        sch=sch-1;
    }
    if(d==33)
    { for(i=0;i<30;i++)
    stud[i]=tmp;
    sch=0;
    }
}
void out()
{
    int sw;
    int k;
    if(sch==0)
        cout <<"\nНет записей:\n";
    else
    {
        cout<<"\nВведите: \n";
        cout<<"1-если хотите вывести какую-либо запсь\n";
        cout<<"2-если хотите вывести все записи\n";
        cin>>sw;
        if(sw==1)
 { cout<<"Введите номер записи, которую нужно вывести\n";
 cin>>k;
 cout<<endl;
cout<<stud[k-1].fam<<" "<<stud[k-1].im<<" "<<stud[k-1].oth<<endl;
cout<<"Номер группы :"<<stud[k-1].group<<endl;
cout<<"Кол-во студентов в группе:"<<stud[k-1].kol<<endl;
cout<<"_____________"<<endl;
        }
        if(sw==2)
        {for(i=0;i<sch;i++)
        {cout<<stud[i].fam<<" "<<stud[i].im<<" "<<stud[i].oth<<endl;
cout<<"Номер группы :"<<stud[i].group<<endl;
cout<<"Кол-во студентов в группе:"<<stud[i].kol<<endl;
cout<<"_____________"<<endl;
        }
        }
    }
}
Добавлено через 31 секунду
ошибку выдает только здесь

Добавлено через 19 секунд
помогите очень нужно
зачет завтра
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.05.2015, 23:59
Ответы с готовыми решениями:

"Отсутствует оператор >> соответствующий этим операндам" - в чем ошибка?
в книге приводится пример. main (){ string a=&quot; &quot;; string b; while (cin&gt;&gt;b) { if...

Ошибка "отсутствует оператор >> соответствующий этим операндам"
#include &lt;string&gt; #include &quot;pch.h&quot; #include &lt;iostream&gt; using namespace std; int main() {...

Ошибка: отсутствует оператор "<<", соответствующий этим операндам
Не могу понять как исправить ошибку. отсутствует оператор &quot;&lt;&lt;&quot;, соответствующий этим операндам....

Ошибка: отсутствует оператор "==", соответствующий этим операндам
в чем ошибка? Может #include не хватает, но вроде все на месте. #include &quot;stdafx.h&quot; #include...

5
244 / 164 / 133
Регистрация: 30.09.2012
Сообщений: 690
14.05.2015, 00:03 2
C++
1
int kol[5]; // <<-- это массив
C++
1
  cin>>stud[sch].kol[sch]; // поэтому обращаться к определенному элементу массива в данном случае надо по индексу
0
1378 / 405 / 144
Регистрация: 22.10.2014
Сообщений: 872
14.05.2015, 00:08 3
std::cin не умеет читать в массивы.
Если поле ошибочно было массивом, то вот так:
C++
1
2
3
4
5
6
7
8
9
10
struct Student //объявляем шаблон структуры
{
    char fam[15]; //Фамилия
    char im[15]; //Имя
    char oth[15]; //Очество
    char adres[25]; //Адрес
    int group; //Номер группы
    char reiting[10]; //рейтинг
    int kol; // количество студенттов!!!!!Вот тут!!!
};
Если же не ошибочно, то править не столь мало как хотелось бы )
0
0 / 0 / 0
Регистрация: 16.04.2015
Сообщений: 16
14.05.2015, 00:09  [ТС] 4
Программа выдает ошибку : отсутствует оператор ">>", соотвутствующий эти операндам типы операндов
std::istream>>int[5]
0
391 / 315 / 154
Регистрация: 08.04.2013
Сообщений: 1,341
14.05.2015, 00:16 5
int kol;// количество студенттов
0
9 / 9 / 13
Регистрация: 25.10.2014
Сообщений: 52
14.05.2015, 13:50 6
Определите класс Student другим образом,
например
C++
1
2
3
4
5
6
7
8
9
10
struct Student //объявляем шаблон структуры
{ 
 string fam; //Фамилия
 string im; //Имя
 string oth; //Очество
 string adres; //Адрес
 int  group; //Номер группы
 string reiting; //рейтинг
 int;// количество студенттов
};
и тогда станет возможно выполнить
C++
1
2
cout <<"Введите фамилию :";
cin>>stud[sch].fam;
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.05.2015, 13:50

Ошибка: отсутствует оператор ">>", соответствующий этим операндам типы операндов: std::is
Помогите или объясните в чем моя ошибка?? Вот программный код! #include &lt;iostream&gt;...

Ошибка E0349 Отсутствует оператор ">>" соответствующий этим операндам. тип операндов: std::ifstream >> wchar_t[32]
#include&lt;iostream&gt; #include&lt;fstream&gt; #include&lt;string&gt; struct Muzician { wchar_t Name;...

Не компилируется, ошибки: "отсутствует оператор, соответствующий этим операндам"
Помогите исправить ошибку, данные проект создавался в среде eclipse при переносе на VS 2010 стал...

Чтение из файла с использованием ifstream. Отсутствует оператор "==", соответствующий этим операндам
Всем привет! Недавно начал работать с потоками, вылезла вот такая ошибка: Отсутствует оператор...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru