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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
AlexProg
1 / 1 / 0
Регистрация: 03.11.2012
Сообщений: 52
#1

Ошибка: нет операции доступа к элементу - C++

14.05.2013, 10:20. Просмотров 294. Ответов 6
Метки нет (Все метки)

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
#include<iostream>
#include<iomanip>
#include<fstream>
#include<locale>
using namespace std;
struct PRICE {
    char name_magazine[90];
    char name_product[90];
    int cost;
    void operator()(char* str,char* str2,int mycost)
 {
     strcpy(name_magazine,str);
     strcpy(name_product,str2);
     cost=mycost;
 }
     void ListGods(int AS,const PRICE &price,char *shopName) //с ошибками 
{
  int cnt=0;
  for(int i=0;i<AS;++i)
   if(strcmp(price[i].name_magazine,shopName)==0)// ошибки вот здесь начинаються 
   {
    cout<<price[i].name_gods<<setw(4)<<price[i].stoimost;
    cnt++;
   }
  if(cnt ==0)
     cout<<"v etom magazine tovarov net";
 }
};
PRICE operator +( const PRICE &price1, const PRICE &price2)
{
    PRICE price=price1;
    strcat(price.name_magazine,price2.name_magazine);
    strcat(price.name_product,price2.name_product);
    price.cost+=price2.cost;
    return price;
}
 
PRICE &operator-(const PRICE &price1,const PRICE &price2)
{
    PRICE price;
    price.cost=price1.cost+price2.cost;
    return price;
}
PRICE &operator--(PRICE &price)
{
    price.cost--;
    return price;
}
PRICE &operator++(PRICE &price)
{
    price.cost++;
    return price;
}
ostream& operator<<(ostream& out,PRICE &price)
{
    out<<setw(10)<<setfill('.')<<setiosflags(ios::left)<<price.name_magazine<<price.name_product<<resetiosflags(ios::left)<<setw(10)<<setfill('.')<<price.cost;
    return out;
}
istream& operator>>(istream& in,PRICE &price)
{
    cout<<"\n ВВедите название магазина\n";
    in>>price.name_magazine;
    cout<<"Введите название товара\n";
    in>>price.name_product;
    cout<<"ВВедите стоимость товара";
    cin>>price.cost;
    return in;
}
int main()
{
    setlocale(LC_ALL,"russian");
    PRICE price;
    PRICE price2;
    price2("i","t",170);
    price("t","r",190);     
    price--;
    for(int i=0;i<4;++i)
        price++;
    cout<<price;
    cin>>price2;
    for(int i=0;i<10;++i)
        price2--;
    cout<<price2;
    price2+price;
    cout<<price2;
    cin.get();
    cin.get();
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.05.2013, 10:20
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка: нет операции доступа к элементу (C++):

Ошибка компиляции: нет перегруженной бинарной операции +. - C++
Подскажите в чем ошибка. Компилятор говорит что нет перегруженной бинарной операции + для такого типа (41 строка) #include &lt;iostream&gt; ...

Получение доступа к элементу массива не по индексу - C++
Доброго времени суток дамы и господа. Возникла сложность с получением доступа к элементу массива. Сложность заключается в следующем: есть...

Есть ли способ доступа к элементу списка по индексу? - C++
Есть ли способ доступа к элементу списка по индексу?

Задание индекса для доступа к элементу массива в виде char * - C++
по сабжу: a = 2.3234; a = 2.345e12; Каким образом можно организовать такой доступ к элементам массива?

Нет доступа к файлу - C++
Всем здравствуйте. Вот какая проблема: имеется txt файл, в нем записан 0. После выполнения программы к 0 прибавляется (должна...

Нет доступа к функции - C++
Есть 2 заголовочных файла .h и главный .cpp. В Employee.h есть функция, которую нельзя вызвать - error C2247: нет доступа к...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
magirus
Супер-модератор
Эксперт по компьютерным сетямЭксперт Windows
26605 / 14919 / 857
Регистрация: 15.09.2009
Сообщений: 64,820
Записей в блоге: 70
14.05.2013, 10:24 #2
what problem you have?
0
Tulosba
:)
Эксперт С++
4395 / 3238 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
14.05.2013, 10:30 #3
AlexProg, Вы бы хоть ошибки привели.
16 строка скорее всего должна быть такой:
C++
1
void ListGods(int AS,const PRICE *price,char *shopName)
Но потом у Вас не объявленные поля name_gods, stoimost ...
Дальше не смотрел.
0
AlexProg
1 / 1 / 0
Регистрация: 03.11.2012
Сообщений: 52
14.05.2013, 10:44  [ТС] #4
ошибка в том что нет операции доступа к эллементу , надо перегрузить операцию скобки я не пойму как мне это сделать
0
Tulosba
:)
Эксперт С++
4395 / 3238 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
14.05.2013, 11:33 #5
Цитата Сообщение от AlexProg Посмотреть сообщение
ошибка в том что нет операции доступа к эллементу
К какому элементу?
Цитата Сообщение от AlexProg Посмотреть сообщение
надо перегрузить операцию скобки я не пойму как мне это сделать
Круглые? Квадратные?
0
AlexProg
1 / 1 / 0
Регистрация: 03.11.2012
Сообщений: 52
14.05.2013, 13:04  [ТС] #6
квадратные для данного случая

Добавлено через 1 минуту
и ещё не работает нормально опреации сложения чисел
0
Tulosba
:)
Эксперт С++
4395 / 3238 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
14.05.2013, 14:20 #7
Цитата Сообщение от AlexProg Посмотреть сообщение
квадратные для данного случая
Повторю вопрос:
Цитата Сообщение от Tulosba Посмотреть сообщение
К какому элементу?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.05.2013, 14:20
Привет! Вот еще темы с ответами:

Операции с числами(правильно или нет) - C++
Подскажите почему не выводит &quot;wrong&quot;, если я ввожу 5++5(хотя в условии я задал что делать если будет подобное выражение)? #include...

Нет доступа к полю private - C++
Всем доброго дня ! Полскажите пожалуйста почему обьект nak не может получить доступ к функции fvm() класса А (строка 93). ...

Нет доступа к полям LOGFONT - C++
Я объявил переменную lFont#include &lt;windows.h&gt; #include &lt;windowsx.h&gt; #include &lt;wingdi.h&gt; static LOGFONT lFont; ...

Нет доступа до вектора класса - C++
Здравствуйте, нужно записать в переменную текст и вектора класса. void Text&lt;Ryad&gt;::Delete(vector&lt;Ryad*&gt; &amp;a ,int l) { ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
14.05.2013, 14:20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru