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

Работа со структурой, не знаю как исправить - C++

Восстановить пароль Регистрация
 
EmpoolsE
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 4
29.11.2012, 22:43     Работа со структурой, не знаю как исправить #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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#include <string.h>
#include <iostream.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
using namespace std;
 
int delenie(string buf,string result[]);
void analiz(string word);
 
 
string zapros;
int skol;
 
 struct token
{
 int nomer_leksemi_za_tipom;
 string value_leksemi;
 int nomer_leksemi_v_radku;
 string tip_leksemi;
 int dlina_leksemi;
 bool poryadok_slov;
 
};
token mas_info_token[100];
 
int _tmain(int argc, _TCHAR* argv[])
{
    SetConsoleOutputCP(1251);
    int i;  
    string zapros("INSERT INTO DSCPL_Cycl_Qty  SELECT KodCycl, KodCc COUNT (KodDysc)  FROM DYSCYPL GROUP BY KodCycl;");
        cout<<zapros<<endl;
    skol=delenie(zapros,mas_info_token);   // Error Cannot convert 'token *' to 'string *'
    int dls=0;
    string buf;
    for (i=0; i<skol; i++)
    {
        dls=sizeof(mas_info_token[i]);
        buf = mas_info_token[i];  //[C++ Error] Could not find a match for 'string::operator =(token)'
        for(int j=0; j<dls; j++)
        {
            if(buf[j]==',') buf[j]=' ';
                        if(buf[j]==';') buf[j]=' ';
 
        }
        mas_info_token[i]=buf;
    }
    for (i=0; i<skol; i++)
    {
        analiz(mas_info_token[i]);
    }
    system("pause");
    return 0;
}
 
int delenie(string buf,string result[])
{
    
    return skol;
}
 
void analiz(string word)
{
 
    
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2012, 22:43     Работа со структурой, не знаю как исправить
Посмотрите здесь:

Ошибка, не знаю как исправить C++
Не знаю как исправить ошибку C++
C++ Не знаю как исправить ошибку в программе
Конфликты хейдеров,не знаю как исправить C++
Много ошибок и не знаю , как исправить C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
booker
 Аватар для booker
23 / 23 / 2
Регистрация: 21.11.2012
Сообщений: 106
29.11.2012, 23:04     Работа со структурой, не знаю как исправить #2
вот ваша структура
C++
1
2
3
4
5
6
7
8
9
10
struct token
{
 int nomer_leksemi_za_tipom;
 string value_leksemi;
 int nomer_leksemi_v_radku;
 string tip_leksemi;
 int dlina_leksemi;
 bool poryadok_slov;
 
};
вот массив структур

token mas_info_token[100];

вот прототип функции void func ( token [100])

вот так передать масив в функцию:

func ( mas_info_token[100])

далее реализация:

void func ( token molotoken[100]) {....}

вот так обращаться к полям структуры внутри функции:

molotoken [n].nomer_leksemi_za_tipom = 0;
EmpoolsE
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 4
29.11.2012, 23:42  [ТС]     Работа со структурой, не знаю как исправить #3
огромное спасибо

Добавлено через 35 минут
а как переменной buf передать значение mas_info_token[i]?
booker
 Аватар для booker
23 / 23 / 2
Регистрация: 21.11.2012
Сообщений: 106
29.11.2012, 23:58     Работа со структурой, не знаю как исправить #4
buf переменная типа string, это строковый тип

token это тип определённый пользователем, по умолчанию вы не можете копировать string в token, возможно вам нужно присвоить переменной buf некоторое поле структуры token.

например такой код является корректным
C++
1
buf = mas_info_token[i].tip_leksemi
EmpoolsE
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 4
01.12.2012, 21:54  [ТС]     Работа со структурой, не знаю как исправить #5
подскажи ещё, как правильно использовать массив вот тут
C++
1
skol=delenie(zapros,mas_info_token);
EmpoolsE
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 4
01.12.2012, 22:33  [ТС]     Работа со структурой, не знаю как исправить #6
я просто не могу понять почему оно ругается, когда вписіваю стринговую переменную типа стринг, оно ругается что не может конвертировать из стринга в стринг*
как быть?
Yandex
Объявления
01.12.2012, 22:33     Работа со структурой, не знаю как исправить
Ответ Создать тему
Опции темы

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