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

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

Восстановить пароль Регистрация
 
AlexProg
1 / 1 / 0
Регистрация: 03.11.2012
Сообщений: 52
14.05.2013, 10:20     Ошибка: нет операции доступа к элементу #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
#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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
magirus
Супер-модератор
 Аватар для magirus
25478 / 14019 / 740
Регистрация: 15.09.2009
Сообщений: 59,699
Записей в блоге: 61
14.05.2013, 10:24     Ошибка: нет операции доступа к элементу #2
what problem you have?
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
14.05.2013, 10:30     Ошибка: нет операции доступа к элементу #3
AlexProg, Вы бы хоть ошибки привели.
16 строка скорее всего должна быть такой:
C++
1
void ListGods(int AS,const PRICE *price,char *shopName)
Но потом у Вас не объявленные поля name_gods, stoimost ...
Дальше не смотрел.
AlexProg
1 / 1 / 0
Регистрация: 03.11.2012
Сообщений: 52
14.05.2013, 10:44  [ТС]     Ошибка: нет операции доступа к элементу #4
ошибка в том что нет операции доступа к эллементу , надо перегрузить операцию скобки я не пойму как мне это сделать
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
14.05.2013, 11:33     Ошибка: нет операции доступа к элементу #5
Цитата Сообщение от AlexProg Посмотреть сообщение
ошибка в том что нет операции доступа к эллементу
К какому элементу?
Цитата Сообщение от AlexProg Посмотреть сообщение
надо перегрузить операцию скобки я не пойму как мне это сделать
Круглые? Квадратные?
AlexProg
1 / 1 / 0
Регистрация: 03.11.2012
Сообщений: 52
14.05.2013, 13:04  [ТС]     Ошибка: нет операции доступа к элементу #6
квадратные для данного случая

Добавлено через 1 минуту
и ещё не работает нормально опреации сложения чисел
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.05.2013, 14:20     Ошибка: нет операции доступа к элементу
Еще ссылки по теме:

C++ Нет доступа до вектора класса
Есть ли способ доступа к элементу списка по индексу? C++
C++ Нет доступа к полю private

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

Или воспользуйтесь поиском по форуму:
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
14.05.2013, 14:20     Ошибка: нет операции доступа к элементу #7
Цитата Сообщение от AlexProg Посмотреть сообщение
квадратные для данного случая
Повторю вопрос:
Цитата Сообщение от Tulosba Посмотреть сообщение
К какому элементу?
Yandex
Объявления
14.05.2013, 14:20     Ошибка: нет операции доступа к элементу
Ответ Создать тему
Опции темы

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