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

Как исправить вот эти ошибки? Вроде все правильно сделал... - C++

Восстановить пароль Регистрация
 
iluxa1810
12 / 12 / 5
Регистрация: 03.09.2011
Сообщений: 1,022
05.11.2011, 16:19     Как исправить вот эти ошибки? Вроде все правильно сделал... #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
/*
 * test.cpp
 *
 *  Created on: 05.11.2011
 *      Author: Sensei
 */
 
#include <iostream>
using std::cout;
using std::endl;
#include <string>
using std::string;
using std::getline;
class Invoice
{
public :
    Invoice(string articul,string opisanie ,int price,int kol)
    {
setArticul(articul);
setOpisanie(opisanie);
setPrice(price);
setKol(kol);
 
    }
void setArticul(string inArticul)
{
    articul=inArticul;
 
}
string getArticul()
{
    return articul;
}
 
void setPrice(int inPrice)
{
    if (inPrice < 0)
        inPrice = 0 ;
    price = inPrice ;
}
 
int getPrice()
 
{
 
return price;
 
}
 
void setKol(int inKol)
 
{
 
if (inKol < 0)
inKol = 0;
kol = inKol;
 
}
 
int getKol()
{
    return kol;
}
 
void setOpisanie(string inOpisanie)
 
{
    if (inOpisanie.length == 0)
    inOpisanie = "Описание отсутствует";
    opisanie = inOpisanie;
}
 
string getOpiasnie()
{
    return opisanie;
}
 
int getInvoiceAmount()
{
    int buf;
    buf = kol*price;
    return buf;
}
 
private :
 
int kol;
int price;
string articul;
string opisanie;
 
};
 
int main()
{
    Invoice tovar1("Джигурда","Ололо",100500,2);
    Invoice tovar2("Онотоле","",500,3);
 
    cout <<" Артикул: " << tovar1.getArticul << endl;
    cout <<" Артикул: " << tovar2.getArticul << endl;
    cout <<" Описание: " << tovar1.getOpiasnie << endl;
    cout <<" Описание: " << tovar2.getOpiasnie << endl;
    cout << " Цена: " << tovar1.getPrice << endl;
    cout << " Цена: " << tovar2.getPrice << endl;
    cout << " Количество " << tovar1.getKol() << endl;
    cout << " Количество " << tovar2.getKol() << endl;
    cout << " Общая стоимость " << tovar1.getInvoiceAmount << endl;
    cout << " Общая стоимость " << tovar2.getInvoiceAmount << endl;
    return 0;
}
Description Resource Path Location Type
invalid use of member (did you forget the '&' ?) test.cpp /Invoice/class line 68 C/C++ Problem
no match for 'operator<<' in 'std::operator<< [with _Traits = std::char_traits<char>](((std::basic_ostream<char>&)(& std::cout)), ((const char*)" \37777777700\37777777760\37777777762\37777777750\37777777752\37777777763\37777777753: ")) << tovar1.Invoice::getArticul' test.cpp /Invoice/class line 99 C/C++ Problem
no match for 'operator<<' in 'std::operator<< [with _Traits = std::char_traits<char>](((std::basic_ostream<char>&)(& std::cout)), ((const char*)" \37777777700\37777777760\37777777762\37777777750\37777777752\37777777763\37777777753: ")) << tovar2.Invoice::getArticul' test.cpp /Invoice/class line 100 C/C++ Problem
no match for 'operator<<' in 'std::operator<< [with _Traits = std::char_traits<char>](((std::basic_ostream<char>&)(& std::cout)), ((const char*)" \37777777716\37777777741\37777777771\37777777740\37777777777 \37777777761\37777777762\37777777756\37777777750\37777777754\37777777756\37777777761\37777777762\37777777774 ")) << tovar1.Invoice::getInvoiceAmount' test.cpp /Invoice/class line 107 C/C++ Problem
no match for 'operator<<' in 'std::operator<< [with _Traits = std::char_traits<char>](((std::basic_ostream<char>&)(& std::cout)), ((const char*)" \37777777716\37777777741\37777777771\37777777740\37777777777 \37777777761\37777777762\37777777756\37777777750\37777777754\37777777756\37777777761\37777777762\37777777774 ")) << tovar2.Invoice::getInvoiceAmount' test.cpp /Invoice/class line 108 C/C++ Problem
no match for 'operator<<' in 'std::operator<< [with _Traits = std::char_traits<char>](((std::basic_ostream<char>&)(& std::cout)), ((const char*)" \37777777716\37777777757\37777777750\37777777761\37777777740\37777777755\37777777750\37777777745: ")) << tovar1.Invoice::getOpiasnie' test.cpp /Invoice/class line 101 C/C++ Problem
no match for 'operator<<' in 'std::operator<< [with _Traits = std::char_traits<char>](((std::basic_ostream<char>&)(& std::cout)), ((const char*)" \37777777716\37777777757\37777777750\37777777761\37777777740\37777777755\37777777750\37777777745: ")) << tovar2.Invoice::getOpiasnie' test.cpp /Invoice/class line 102 C/C++ Problem
no match for 'operator<<' in 'std::operator<< [with _Traits = std::char_traits<char>](((std::basic_ostream<char>&)(& std::cout)), ((const char*)" \37777777726\37777777745\37777777755\37777777740: ")) << tovar1.Invoice::getPrice' test.cpp /Invoice/class line 103 C/C++ Problem
no match for 'operator<<' in 'std::operator<< [with _Traits = std::char_traits<char>](((std::basic_ostream<char>&)(& std::cout)), ((const char*)" \37777777726\37777777745\37777777755\37777777740: ")) << tovar2.Invoice::getPrice' test.cpp /Invoice/class line 104 C/C++ Problem
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2011, 16:19     Как исправить вот эти ошибки? Вроде все правильно сделал...
Посмотрите здесь:

C++ Подскажите что не правильно чему оно не так выводит и по возможности исправьте ошибки вот условие и код программы
C++ Прога на Си, все правильно вроде, но выскакивает
Ошибки вроде бы нет, но работает не правильно! C++
C++ Как исправить эти ошибки
C++ Делаю лабораторную работу, написал код программы, принцип думаю верен, а вот с синтаксисом проблемы. Помогите исправить ошибки
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
05.11.2011, 16:29     Как исправить вот эти ошибки? Вроде все правильно сделал... #2
А скобки кто дописывать будет?
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
#include <iostream>
using std::cout;
using std::endl;
#include <string>
using std::string;
using std::getline;
class Invoice
{
public :
        Invoice(string articul,string opisanie ,int price,int kol)
        {
setArticul(articul);
setOpisanie(opisanie);
setPrice(price);
setKol(kol);
 
        }
void setArticul(string inArticul)
{
        articul=inArticul;
 
}
string getArticul()
{
        return articul;
}
 
void setPrice(int inPrice)
{
        if (inPrice < 0)
                inPrice = 0 ;
        price = inPrice ;
}
 
int getPrice()
 
{
 
return price;
 
}
 
void setKol(int inKol)
 
{
 
if (inKol < 0)
inKol = 0;
kol = inKol;
 
}
 
int getKol()
{
        return kol;
}
 
void setOpisanie(string inOpisanie)
 
{
        if (inOpisanie.length() == 0)
        inOpisanie = "Описание отсутствует";
        opisanie = inOpisanie;
}
 
string getOpiasnie()
{
        return opisanie;
}
 
int getInvoiceAmount()
{
        int buf;
        buf = kol*price;
        return buf;
}
 
private :
 
int kol;
int price;
string articul;
string opisanie;
 
};
 
int main()
{
        Invoice tovar1("Джигурда","Ололо",100500,2);
        Invoice tovar2("Онотоле","",500,3);
 
        cout <<" Артикул: " << tovar1.getArticul() << endl;
        cout <<" Артикул: " << tovar2.getArticul() << endl;
        cout <<" Описание: " << tovar1.getOpiasnie() << endl;
        cout <<" Описание: " << tovar2.getOpiasnie() << endl;
        cout << " Цена: " << tovar1.getPrice() << endl;
        cout << " Цена: " << tovar2.getPrice() << endl;
        cout << " Количество " << tovar1.getKol() << endl;
        cout << " Количество " << tovar2.getKol() << endl;
        cout << " Общая стоимость " << tovar1.getInvoiceAmount() << endl;
        cout << " Общая стоимость " << tovar2.getInvoiceAmount() << endl;
    return 0;
}
iluxa1810
12 / 12 / 5
Регистрация: 03.09.2011
Сообщений: 1,022
05.11.2011, 16:33  [ТС]     Как исправить вот эти ошибки? Вроде все правильно сделал... #3
Благодарю.
С++ такой строгий язык)

Добавлено через 2 минуты
Добавил я скобки . Все равно ошибки остались(Только в if убралась)
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
/*
 * test.cpp
 *
 *  Created on: 05.11.2011
 *      Author: Sensei
 */
 
#include <iostream>
using std::cout;
using std::endl;
#include <string>
using std::string;
using std::getline;
class Invoice
{
public :
    Invoice(string articul,string opisanie ,int price,int kol)
    {
setArticul(articul);
setOpisanie(opisanie);
setPrice(price);
setKol(kol);
 
    }
void setArticul(string inArticul)
{
    articul=inArticul;
 
}
string getArticul()
{
    return articul;
}
 
void setPrice(int inPrice)
{
    if (inPrice < 0)
        inPrice = 0 ;
    price = inPrice ;
}
 
int getPrice()
 
{
 
return price;
 
}
 
void setKol(int inKol)
 
{
 
if (inKol < 0)
inKol = 0;
kol = inKol;
 
}
 
int getKol()
{
    return kol;
}
 
void setOpisanie(string inOpisanie)
 
{
    if (inOpisanie.length() == 0)
    inOpisanie = "Описание отсутствует";
    opisanie = inOpisanie;
}
 
string getOpiasnie()
{
    return opisanie;
}
 
int getInvoiceAmount()
{
    int buf;
    buf = kol*price;
    return buf;
}
 
private :
 
int kol;
int price;
string articul;
string opisanie;
 
};
 
int main()
{
    Invoice tovar1("Джигурда","Ололо",100500,2);
    Invoice tovar2("Онотоле","",500,3);
 
    cout <<" Артикул: " << tovar1.getArticul() << endl;
    cout <<" Артикул: " << tovar2.getArticul() << endl;
    cout <<" Описание: " << tovar1.getOpiasnie() << endl;
    cout <<" Описание: " << tovar2.getOpiasnie() << endl;
    cout << " Цена: " << tovar1.getPrice() << endl;
    cout << " Цена: " << tovar2.getPrice() << endl;
    cout << " Количество " << tovar1.getKol() << endl;
    cout << " Количество " << tovar2.getKol() << endl;
    cout << " Общая стоимость " << tovar1.getInvoiceAmount() << endl;
    cout << " Общая стоимость " << tovar2.getInvoiceAmount() << endl;
    return 0;
}
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
05.11.2011, 16:39     Как исправить вот эти ошибки? Вроде все правильно сделал... #4
Цитата Сообщение от iluxa1810 Посмотреть сообщение
Добавил я скобки . Все равно ошибки остались(Только в if убралась)
Какие ошибки? У меня в 10 студии нормально собирается.
iluxa1810
12 / 12 / 5
Регистрация: 03.09.2011
Сообщений: 1,022
05.11.2011, 16:41  [ТС]     Как исправить вот эти ошибки? Вроде все правильно сделал... #5
Invoice tovar2("Онотоле","",500,3);
Поставил пробел между "" и ошибка пропала .Теперь вопрос:Если "" создает ошибку,то как тогда сделать проверку на пустую строку ?

Добавлено через 1 минуту
Kastaneda, Вопрос про студию:
У меня тоже есть Студия 2010,но мне не нравится то,как она отображает ошибки ,еле заметным выделением...Нельзя ли сделать,что бы рядом со строкой ставился красный кружой или квадрат,который хорошо виден ?
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
05.11.2011, 16:45     Как исправить вот эти ошибки? Вроде все правильно сделал... #6
Цитата Сообщение от iluxa1810 Посмотреть сообщение
Поставил пробел между "" и ошибка пропала
Это не пустая строка, это пробел.
Цитата Сообщение от iluxa1810 Посмотреть сообщение
Если "" создает ошибку,то как тогда сделать проверку на пустую строку ?
Так и делают, это не может создавать ошибку.

Добавлено через 2 минуты
Цитата Сообщение от iluxa1810 Посмотреть сообщение
мне не нравится то,как она отображает ошибки ,еле заметным выделением...
Да вроде нормально, там есть еще такая удобная фича, как подчеркивание красным, т.е. часть ошибок ты можешь заметить еще до компиляции. А после компиляции два раза кликаешь по тексту ошибки снизу и студия показывает строку и место ошибки в самом редакторе.

Цитата Сообщение от iluxa1810 Посмотреть сообщение
Нельзя ли сделать,что бы рядом со строкой ставился красный кружой или квадрат,который хорошо виден ?
Хз, покопайся в настройках, может что и найдешь.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.11.2011, 17:00     Как исправить вот эти ошибки? Вроде все правильно сделал...
Еще ссылки по теме:

C++ Выдает ошибку но вроде все правильно посмотрите!
C++ Вроде простой код, но съедает 1,5 гб оперативы, как это исправить?
Исправить ошибки в коде или пояснить как правильно запустить C++

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

Или воспользуйтесь поиском по форуму:
iluxa1810
12 / 12 / 5
Регистрация: 03.09.2011
Сообщений: 1,022
05.11.2011, 17:00  [ТС]     Как исправить вот эти ошибки? Вроде все правильно сделал... #7
Kastaneda, Странный какой-то этот Эклипс...
Щас снова убрал пробел между " " и ошибка пропала...
Yandex
Объявления
05.11.2011, 17:00     Как исправить вот эти ошибки? Вроде все правильно сделал...
Ответ Создать тему
Опции темы

Текущее время: 13:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru