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

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

Войти
Регистрация
Восстановить пароль
 
 
h_wolf
9 / 9 / 1
Регистрация: 24.01.2013
Сообщений: 211
#1

Ошибка при работе со структурой - C++

03.09.2013, 15:09. Просмотров 808. Ответов 20
Метки нет (Все метки)

Доброго времени суток!
возник очередной глупый вопрос - ЧТДН?

Объявил массив указателей на структуру, но при попытке внести в структуру данные при компиляции вылезает вот такая ошибка на каждую строку:
error: base operand of '->' has non-pointer type 'bop'

Компилятор - GCC.

В книге ответа на вопрос найти не смог. Уверен в том что так можно, ибо есть работающий код (другое "упражнение" в котором такой способ внесения данных работает без проблем.)

Заранее благодарен!


Код:
Кликните здесь для просмотра всего текста
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
struct bop{
    char FullName[80];
    char Title[80];
    char BopName[80];
    int preference; // 0- FullName, 1- Title, 2- BopName
};
 
int main()
{
    setlocale(LC_CTYPE, "");
 
    bop* Arr=new bop[3];
 
    Arr[0]->FullName="Charli Parker";
    Arr[0]->Title="God";
    Arr[0]->BopName="Frick";
    Arr[0]->preference=0;
 
    Arr[1]->FullName="John Bim";
    Arr[1]->Title="Love";
    Arr[1]->BopName="White";
    Arr[1]->preference=1;
 
    Arr[2]->FullName="Eric Pirce";
    Arr[2]->Title="Sec";
    Arr[2]->BopName="Black";
    Arr[2]->preference=2;
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.09.2013, 16:06     Ошибка при работе со структурой
Еще ссылки по теме:

Ошибка при работе с классами C++
Не могу найти ошибку в работе со структурой студентов C++
Ошибка при работе с очередью C++
C++ Ошибка при работе со строками
Ошибка при работе с файлами C++

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

Или воспользуйтесь поиском по форуму:
h_wolf
9 / 9 / 1
Регистрация: 24.01.2013
Сообщений: 211
03.09.2013, 16:06  [ТС]     Ошибка при работе со структурой #21
eXtream,

С использование char:
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <string>
#include <cstring>
 
 
using namespace std;
 
const int StrSize=80;
 
struct bop{
    char FullName[StrSize];
    char Title[StrSize];
    char BopName[StrSize];
    int preference; // 0- FullName, 1- Title, 2- BopName
};
 
int main()
{
    setlocale(LC_CTYPE, "");
 
    bop* Arr=new bop[3];
 
    strcpy(Arr[0].FullName,"Charli Parker");
    strcpy(Arr[0].Title,"God");
    strcpy(Arr[0].BopName,"Frick");
    Arr[0].preference=0;
 
    strcpy(Arr[1].FullName,"John Bim");
    strcpy(Arr[1].Title,"Love");
    strcpy(Arr[1].BopName,"White");
    Arr[1].preference=1;
 
    strcpy(Arr[2].FullName,"Eric Pirce");
    strcpy(Arr[2].Title,"Sec");
    strcpy(Arr[2].BopName,"Black");
    Arr[2].preference=2;
 
    cout<<"Выберите способ отобрадения:"<<endl;
    cout<<"a) Отобразить имена\t\tb) Отобразить титул"<<endl;
    cout<<"c) отобразить имя БОП\t\td) Отобразить по предпочтинию"<<endl;
    char Sw;
    while(Sw!='q'){
 
    cin>>Sw;
 
    switch(Sw)
    {
    case 'a':
        for(int i=0; i<3; i++)
            cout<<Arr[i].FullName<<endl;
        break;
    case 'b':
        for(int i=0; i<3; i++)
            cout<<Arr[i].Title<<endl;
        break;
    case 'c':
        for(int i=0; i<3; i++)
            cout<<Arr[i].BopName<<endl;
        break;
    case 'd':
        for(int i=0; i<3; i++){
            if(Arr[i].preference==0)
                cout<<Arr[i].FullName<<endl;
            else if(Arr[i].preference==1)
                    cout<<Arr[i].Title<<endl;
            else cout<<Arr[i].BopName<<endl;
        }
        break;
    }
    }
    cout<<"Bye\n";
 
    delete [] Arr;
 
    return 0;
}


с использование string см.выше.


Всем огромное спасибо за помощь!
Yandex
Объявления
03.09.2013, 16:06     Ошибка при работе со структурой
Ответ Создать тему
Опции темы

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