0 / 0 / 0
Регистрация: 28.11.2013
Сообщений: 7
1

Устранить ошибку "no match for operator"

17.02.2014, 01:43. Показов 1789. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
#include <iostream>
#include <string.h>
using namespace std;
 
class Firm {
   public:
       Firm();
       Firm(string n, string a, int p, string e );
       ~Firm();
       string GetName();
       void SetName(string val);
       string GetAdress();
       void SetAdress(string val);
       int GetPhone();
       void SetPhone(int val);
       string GetEmail();
       void SetEmail(string val);
  private:
       string Name;
       string Adress;
       int Phone;
       string Email;
};
int kolvo (Firm*,int);
 
int main() {
    Firm F1;  // вызов конструктора по умолчанию
    Firm F2("Apple", "USA", 556006, "no");  // вызов конструктора с параметрами
    F1.SetName("Nokia");   // Обращаемся к элементам объекта
    F1.SetAdress("Finland");         // через имя объекта, поэтому используем
    F1.SetPhone(60768439);  // точку (.).Получить или изменить значение
    F1.SetEmail("sold@microsoft.com");  // элемента со спецификатором private можно
                                      // только через обращение к соответствующим
                                      // методам (SetPhone, SetEmail  и др.)
    cout<<  F1.GetName()<<" "<<F1.GetAdress()<<" "<<F1.GetPhone()<<" "<<F1.GetEmail()<<endl;
    cout<<  F2.GetName()<<" "<<F2.GetAdress()<<" "<<F2.GetPhone()<<" "<<F2.GetEmail()<<endl;
    Firm F3[10];
    string str1, str2, str3;
    int val1;
    cout<<"Vvedite kol-vo elementov -> ";
    for(int i=0; i<4; i++) {
        cout<<"Enter name -> ";
        cin>>str1;
        F3[i].SetName(str1);
        cout<<"Enter adress -> ";
        cin>>str2;
         F3[i].SetAdress(str2);
        cout<<"Enter phone -> ";
        cin>>val1;
        F3[i].SetPhone(val1);
        cout<<"Enter email -> ";
        cin>>str3;
        F3[i].SetEmail(str3);
    }
    for(int i=0; i<4; i++)
    cout<<F3[i].GetName()<<" "<<F3[i].GetAdress()<<" "<<F3[i].GetPhone()<<" "<<F3[i].GetEmail()<<endl;
 
    int i, s=0;
    for(i=0; i<4; i++)
    {
   if(F3[i].GetEmail()==0) s++;
    }
    cout<<"n\Kol-vo firm without email"<<"   "<<s<<"\n";
 
    return  0;
}
Firm::Firm() {
                              // конструктор по умолчанию
}
// конструктор с параметрами
Firm::Firm(string n, string a, int p, string e ) {
 
      n=Name;
      a=Adress;
      p=Phone;
      e=Email;
}
Firm::~Firm() {
        //  деструктор по умолчанию – у нас явно в программе не вызывается,
       // его можно в класс не включать
}
string Firm::GetName() {    //Метод, позволяющий прочитать значение свойства
    return(Name);
}
void Firm::SetName(string val) { // Метод для установки нового значения
    Name=val;                               // свойства
}
string Firm::GetAdress() {
    return Adress;
}
void Firm::SetAdress(string val) {
    Adress=val;
}
int Firm::GetPhone() {
    return Phone;
}
void Firm::SetPhone(int val) {
    Phone=val;
}
string Firm::GetEmail() {
    return Email;
}
void Firm::SetEmail(string val) {
   Email=val;
}
no match for operator==, подскажите что не так в 61 строке, нужно вычислить фирмы без емэйла
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.02.2014, 01:43
Ответы с готовыми решениями:

Как исправить ошибку: no match for ‘operator-’ ?
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;ctime&gt; using namespace std; int main() {...

Программа выдает ошибку error: no match for 'operator<<' (operand types are 'std:
программа выдает данную ошибку error: no match for 'operator&lt;&lt;' (operand types are 'std::istream'...

Компилятор выдает ошибку "no match for operator>>"
#include &lt;iostream&gt; using namespace std; int main() { int arr; int x,n,m,mi; ...

Как исправить ошибку - Could not find a match for 'operator AnsiString::=(TDateTime)'
Организовать хранение данных в файле в следущую структуру, фио, дата, время 1) Написать процедуру...

Компилятор выдает ошибку no match for operator[] in stud[i]
Компилятор выдает ошибку no match for operator in stud. Что не так? Буду благодарна, если укажете...

5
Знаток
156 / 156 / 185
Регистрация: 18.11.2012
Сообщений: 411
Записей в блоге: 2
17.02.2014, 01:47 2
Цитата Сообщение от jekaky Посмотреть сообщение
if(F3[i].GetEmail()==0) s++;
Походу у вас типы не совпадают
0
244 / 245 / 38
Регистрация: 08.04.2013
Сообщений: 927
17.02.2014, 01:58 3
Лучший ответ Сообщение было отмечено jekaky как решение

Решение

Цитата Сообщение от jekaky Посмотреть сообщение
if(F3[i].GetEmail()==0) s++;
замените на
C++
1
if(F3[i].GetEmail()=="") s++;
1
0 / 0 / 0
Регистрация: 28.11.2013
Сообщений: 7
17.02.2014, 02:00  [ТС] 4
Цитата Сообщение от metaluga145 Посмотреть сообщение
замените на
C++
1
if(F3[i].GetEmail()=="") s++;
а что это ""? вроде как работает
0
244 / 245 / 38
Регистрация: 08.04.2013
Сообщений: 927
17.02.2014, 02:03 5
Лучший ответ Сообщение было отмечено jekaky как решение

Решение

Цитата Сообщение от jekaky Посмотреть сообщение
а что это ""
пустая строка
1
0 / 0 / 0
Регистрация: 28.11.2013
Сообщений: 7
17.02.2014, 02:08  [ТС] 6
Цитата Сообщение от metaluga145 Посмотреть сообщение
пустая строка
спасибо большое, а вот как допустим при вводе при запуске кода в комадной строке в графе емэйл прописать пустую строку?
0
17.02.2014, 02:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.02.2014, 02:08
Помогаю со студенческими работами здесь

No match for ‘operator!=‘
Не получается проверить существование элемента списка. Заполняю необходимыми данными список, далее...

no match for ‘operator=’
При компиляции выводит следующую ошибку ft.cpp: In function ‘int ClientCMD(int, char**)’:...

No match for 'operator<<'
имеется простой класс и программа для его тестирования. В программе имеется функция принимающая...

Error: no match for 'operator++'
Почему выдает ошибку &quot;error: no match for 'operator++' (operand type is 'CountPOSTn')&quot; если в...

Ошибка: no match for 'operator<<'
Добрый вечер! Отрывок из main() cout &lt;&lt; &quot;\n\n LIST &quot; &lt;&lt; endl; list&lt;GradStudent&gt; l;...


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

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

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