Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
2 / 2 / 0
Регистрация: 20.11.2010
Сообщений: 52

Как правильно прикрепить файл ".h" к проекту?

13.11.2011, 13:21. Показов 1573. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хочу перекинуть структуры в один файл, функции в другой, а основная программа останется в cpp. Для этого добавляю к проекту файлы ".h" и в .cpp пишу: #include "Structure.h" #include "Functions.h" . Вроде ничего не подчеркивает, а при запуске выдает море ошибок. Подскажите пожалуйста - как правильно сделать?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.11.2011, 13:21
Ответы с готовыми решениями:

Как прикрепить к проекту файл
Подскажите пожалуйста чайнику каким образом можно прикрепить к проекту файл и затем при запуске работать с ним? например картинку ? чтобы...

Как в проекте прикрепить файл шаблона Excel к проекту, чтобы программа открывала этот файл на всех ПК
Здравствуйте. Мой проект выгружает данные из SQL в Excel. Как в проекте прикрепить файл шаблона Excel к проекту, и какой адрес...

Как прикрепить текстовый файл к готовому проекту в виде exe-файла?
Здравствуйте. Пишу проект в виде Window Forms, в ходе его работы подключаются данные из текстового файла. Впоследствии планирую работать с...

9
Студент
 Аватар для amor1k
148 / 148 / 64
Регистрация: 18.01.2011
Сообщений: 469
13.11.2011, 13:36
а что за ошибки?
0
2 / 2 / 0
Регистрация: 20.11.2010
Сообщений: 52
13.11.2011, 13:41  [ТС]
Вот такие:
Code
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
------ Построение начато: проект: Num_5, Конфигурация: Debug Win32 ------
  Num_5.cpp
j:\проекты\c++\num_5\num_5\structure.h(10): error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "name"
j:\проекты\c++\num_5\num_5\structure.h(10): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
j:\проекты\c++\num_5\num_5\structure.h(10): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
j:\проекты\c++\num_5\num_5\structure.h(25): error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "Website"
j:\проекты\c++\num_5\num_5\structure.h(25): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
j:\проекты\c++\num_5\num_5\structure.h(25): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
j:\проекты\c++\num_5\num_5\structure.h(26): error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "phone"
j:\проекты\c++\num_5\num_5\structure.h(26): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
j:\проекты\c++\num_5\num_5\structure.h(26): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
j:\проекты\c++\num_5\num_5\structure.h(27): error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "address"
j:\проекты\c++\num_5\num_5\structure.h(27): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
j:\проекты\c++\num_5\num_5\structure.h(27): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
j:\проекты\c++\num_5\num_5\structure.h(32): error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "name"
j:\проекты\c++\num_5\num_5\structure.h(32): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
j:\проекты\c++\num_5\num_5\structure.h(32): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
j:\проекты\c++\num_5\num_5\functions.h(5): error C2065: cout: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(5): error C2065: endl: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(5): error C2065: endl: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(5): error C2065: endl: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(7): error C2065: cout: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(8): error C2065: cin: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(8): error C2039: name: не является членом "sBranch"
          j:\проекты\c++\num_5\num_5\structure.h(9): см. объявление "sBranch"
j:\проекты\c++\num_5\num_5\functions.h(10): error C2065: cout: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(11): error C2065: cin: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(13): error C2065: cout: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(13): error C2065: endl: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(15): error C2065: cout: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(16): error C2065: cin: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(18): error C2065: cout: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(19): error C2065: cin: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(21): error C2065: cout: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(22): error C2065: cin: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(24): error C2065: cout: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(25): error C2065: cin: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(27): error C2065: cout: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(28): error C2065: cin: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(38): error C2065: cout: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(39): error C2065: endl: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(40): error C2065: endl: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(41): error C2065: endl: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(41): error C2065: endl: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(43): error C2065: cout: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(43): error C2065: endl: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(44): error C2065: cin: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(45): error C2065: cout: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(45): error C2065: endl: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(49): error C2065: cout: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(50): error C2065: cin: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(50): error C2039: name: не является членом "sCompany"
          j:\проекты\c++\num_5\num_5\structure.h(31): см. объявление "sCompany"
j:\проекты\c++\num_5\num_5\functions.h(50): error C2065: cout: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(50): error C2065: endl: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(54): error C2065: cout: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(55): error C2065: endl: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(56): error C2065: cin: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(56): error C2065: cout: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(56): error C2065: endl: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(64): error C2065: cout: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(64): error C2065: endl: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(64): error C2065: endl: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(66): error C2065: cout: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(67): error C2065: cin: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(67): error C2039: phone: не является членом "sContacts"
          j:\проекты\c++\num_5\num_5\structure.h(24): см. объявление "sContacts"
j:\проекты\c++\num_5\num_5\functions.h(67): error C2065: cout: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(67): error C2065: endl: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(69): error C2065: cout: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(70): error C2065: cin: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(70): error C2039: Website: не является членом "sContacts"
          j:\проекты\c++\num_5\num_5\structure.h(24): см. объявление "sContacts"
j:\проекты\c++\num_5\num_5\functions.h(70): error C2065: cout: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(70): error C2065: endl: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(72): error C2065: cout: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(73): error C2065: cin: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(73): error C2039: address: не является членом "sContacts"
          j:\проекты\c++\num_5\num_5\structure.h(24): см. объявление "sContacts"
j:\проекты\c++\num_5\num_5\functions.h(73): error C2065: cout: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(73): error C2065: endl: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\functions.h(111): error C2061: синтаксическая ошибка: идентификатор "string"
j:\проекты\c++\num_5\num_5\functions.h(126): error C2039: name: не является членом "sCompany"
          j:\проекты\c++\num_5\num_5\structure.h(31): см. объявление "sCompany"
j:\проекты\c++\num_5\num_5\functions.h(126): error C2065: s: необъявленный идентификатор
j:\проекты\c++\num_5\num_5\num_5.cpp(53): error C2039: name: не является членом "sCompany"
          j:\проекты\c++\num_5\num_5\structure.h(31): см. объявление "sCompany"
j:\проекты\c++\num_5\num_5\num_5.cpp(60): error C2660: DeleteCompany: функция не принимает 3 аргументов
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
0
2 / 2 / 0
Регистрация: 20.11.2010
Сообщений: 52
13.11.2011, 13:46  [ТС]
Лучше кину сам проект...
Вложения
Тип файла: rar Num_5.rar (2.03 Мб, 14 просмотров)
0
14 / 14 / 4
Регистрация: 08.11.2010
Сообщений: 172
13.11.2011, 13:46
#include "Structure.h" #include "Functions.h"
добавь в cpp и в main
0
2 / 2 / 0
Регистрация: 20.11.2010
Сообщений: 52
13.11.2011, 13:49  [ТС]
rudeeeboy, в main - в функцию с которой все начинается? Если так - то все-равно тоже самое =(
0
14 / 14 / 4
Регистрация: 08.11.2010
Сообщений: 172
13.11.2011, 13:55
а в файле h что в сверху написано?

Добавлено через 52 секунды
#ifndef _Chislo
#define _Chislo

и в конце #endif писал?
1
2 / 2 / 0
Регистрация: 20.11.2010
Сообщений: 52
13.11.2011, 14:07  [ТС]
Значит сверху #ifndef _Chislo #define _Chislo потом код потом #endif ??
Дописал все равно нивкакую.
0
14 / 14 / 4
Регистрация: 08.11.2010
Сообщений: 172
13.11.2011, 14:15
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#ifndef _num
#define _num
void CreateBranchInfo(sCompany* comp, int i, int countBr)
{
    for(int g = 0; g < countBr; ++g)
    {
        cout<<endl<<"    Отрасль № "<<g+1<<":"<<endl<<endl;
 
        cout<<"        1. Введите название отрасли: ";
        cin>>comp[i].branch[g].name;
 
        cout<<"        2. Введите количество специалистов, работающих в данной отрасли: ";
        cin>>comp[i].branch[g].specis_num; 
        
        cout<<"        3. Расходы:"<<endl;
        
        cout<<"            3.1 Cредняя зарплата специалистов: ";
        cin>>comp[i].branch[g].exps.aver_salary; 
 
        cout<<"            3.2 Налог: ";
        cin>>comp[i].branch[g].exps.tax; 
 
        cout<<"            3.3 Материальные затраты: ";
        cin>>comp[i].branch[g].exps.materl_exps;  
 
        cout<<"        4. Введите общую выручку данной отрасли: ";
        cin>>comp[i].branch[g].reven;  
 
        cout<<"        5. Введите общую прибыль данной отрасли: ";
        cin>>comp[i].branch[g].profit; 
    }
}
 
void CreatCompInfo(sCompany* comp, int i)
{
    int choise = 1;
    int countBr;
    do
    {
        cout<<"    Ввод названия компании: <1>... "<<endl
            <<"    Отрасли компании: <2>... "<<endl
            <<"    Контакты: <3>... "<<endl
            <<"    Выход: <0>... "<<endl;
        
        cout<<endl<<"Ваш выбор: ";
        cin>>choise;
        cout<<endl;
 
        switch(choise)
        {
            case 1: cout<<"    1. Введите название компании: ";
                    cin>>comp[i].name;  cout<<endl;
 
                    break;
 
            case 2: cout<<"    2. Отрасли..."
                    <<endl<<"        Введите количество отраслей: ";
                    cin>>countBr;  cout<<endl;
 
                    comp[i].branch = new sBranch[countBr];
 
                    CreateBranchInfo(comp, i, countBr);
 
                    break;
 
            case 3: cout<<"    3. Контакты..."<<endl<<endl;
 
                    cout<<"        3.1 Введите телефон компании: ";
                    cin>>comp[i].contacts.phone;  cout<<endl;
 
                    cout<<"        3.2 Введите официальный вэб-сайт компании: http://";
                    cin>>comp[i].contacts.Website;  cout<<endl;
 
                    cout<<"        3.3 Введите адрес компании: ";
                    cin>>comp[i].contacts.address;  cout<<endl;
 
                    break;
        }
    } 
    while(choise != 0); 
}
 
void InputCompany(sCompany* &comp, int* countCom)
{   
                    
    if(* countCom != 0)
    {
        
        sCompany* arr = new sCompany[*countCom];
        for(int i = 0; i < *countCom; ++i) 
            arr[i] = comp[i];   //
        delete []comp;                                          //  
                                                                //      
        *countCom += 1;                                         // Увеличиваем размерность массива 
                                                                //
        comp = new sCompany[*countCom];                         //
        for(int i = 0; i<*countCom-1; ++i) comp[i] = arr[i];    //
        delete []arr;                                           //
 
        CreatCompInfo(comp, *countCom - 1);
    }
    else
        {
            
            delete []comp;
            *countCom += 1;                                                                                             
            comp = new sCompany[*countCom];
 
            CreatCompInfo(comp, *countCom - 1);
        }
}
 
void DeleteCompany(sCompany* &comp, int* countCom, string s)
{
    sCompany* arr = new sCompany[*countCom];        
 
    for(int i = 0; i < *countCom; ++i) arr[i] = comp[i];    
 
    delete []comp;                                              
                                                                
    --*countCom;                                                
                                                
    comp = new sCompany[*countCom]; 
    
    int g = 0;
 
    for(int i = 0; i<=*countCom; ++i)
        if(arr[i].name != s) 
            {
                comp[g] = arr[i];
                ++g;
            }
 
    delete []arr;                                               
}
#endif
1
2 / 2 / 0
Регистрация: 20.11.2010
Сообщений: 52
13.11.2011, 14:29  [ТС]
Сделал все как ты сказал, все равно не получается. Ладно оставлю как есть - а там уже проконсультируюсь у препода. Все равно Спасибо!)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.11.2011, 14:29
Помогаю со студенческими работами здесь

Прикрепить txt файл к проекту
Здравствуйте! Подскажите можно ли добавить текстовый файл в проект что бы он был внутри exe-шника и с него считывалось содержимое при...

Как к проекту прикрепить шрифт
Я использовал в проекте нестандартный шрифт и на других компах он заменяется на обычный. Я хотел бы узнать как можно прикрепить к проекту...

Как проект на C++ с github прикрепить к проекту C# на ноутбуке?
Всем привет! В общем , этот проект с github https://github.com/JohnWStockwellJr/SeisUnix на C++ нужно прикрепить к проекту на C# на моём...

Как прикрепить исходник dll к основному проекту?
Хочу избавиться от DLL (в моем случае xNet) в своем проекте, естьпроект этой dll, но не знаю как это осуществить, помогите) В интернете...

Прикрепить к проекту файлы
Здравствуйте. Возник следующий вопрос. Имеется сторонняя программа которой отдаются параметры в файле, запускается через консоль...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru