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

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

Войти
Регистрация
Восстановить пароль
 
iron-mik
2 / 2 / 0
Регистрация: 20.11.2010
Сообщений: 52
#1

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

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

Хочу перекинуть структуры в один файл, функции в другой, а основная программа останется в cpp. Для этого добавляю к проекту файлы ".h" и в .cpp пишу: #include "Structure.h" #include "Functions.h" . Вроде ничего не подчеркивает, а при запуске выдает море ошибок. Подскажите пожалуйста - как правильно сделать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2011, 13:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как правильно прикрепить файл ".h" к проекту? (C++):

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно". Я так...

Реализовать классы "Воин", "Пехотинец", "Винтовка", "Матрос", "Кортик" (наследование) - C++
Разработать программу с использованием наследования классов, реализующую классы: − воин; − пехотинец(винтовка); − матрос(кортик). ...

Как отключить автоматическое добавление "_" "@" "number" к имени экстернального метода? - C++
Здраствуйте! Подскажите как это делается? (вопрос в названии темы) среда : VS2013 проект компилируется в dll файл в начале...

Переписать в файл О все элементы файла К с заменой в них символа "0" на символ "1" и наоборот - C++
Помогите создать файл К,элементы которого являются символьными. Переписать в файл О все элементы файла К с заменой в нх символа 0 на символ...

Переписать в файл О все элементы файла К с заменой в них символа "0" на символ "1" и наоборот - C++
Помогите. Нужно создать файл К,элементы которого являются символами. Переписать в файл О все элементы файла К с заменой в них символа 0 на...

Как правильно задать параметр "время выполнения алгоритма"? - C++
как правильно задать параметр "время выполнения алгоритма"? #include <iostream> #include <math.h> #include <time.h> #include...

9
amor1k
Студент
147 / 147 / 24
Регистрация: 18.01.2011
Сообщений: 469
13.11.2011, 13:36 #2
а что за ошибки?
0
iron-mik
2 / 2 / 0
Регистрация: 20.11.2010
Сообщений: 52
13.11.2011, 13:41  [ТС] #3
Вот такие:
Код
------ Построение начато: проект: 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
iron-mik
2 / 2 / 0
Регистрация: 20.11.2010
Сообщений: 52
13.11.2011, 13:46  [ТС] #4
Лучше кину сам проект...
0
Вложения
Тип файла: rar Num_5.rar (2.03 Мб, 13 просмотров)
rudeeeboy
14 / 14 / 1
Регистрация: 08.11.2010
Сообщений: 172
13.11.2011, 13:46 #5
#include "Structure.h" #include "Functions.h"
добавь в cpp и в main
0
iron-mik
2 / 2 / 0
Регистрация: 20.11.2010
Сообщений: 52
13.11.2011, 13:49  [ТС] #6
rudeeeboy, в main - в функцию с которой все начинается? Если так - то все-равно тоже самое =(
0
rudeeeboy
14 / 14 / 1
Регистрация: 08.11.2010
Сообщений: 172
13.11.2011, 13:55 #7
а в файле h что в сверху написано?

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

и в конце #endif писал?
1
iron-mik
2 / 2 / 0
Регистрация: 20.11.2010
Сообщений: 52
13.11.2011, 14:07  [ТС] #8
Значит сверху #ifndef _Chislo #define _Chislo потом код потом #endif ??
Дописал все равно нивкакую.
0
rudeeeboy
14 / 14 / 1
Регистрация: 08.11.2010
Сообщений: 172
13.11.2011, 14:15 #9
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
iron-mik
2 / 2 / 0
Регистрация: 20.11.2010
Сообщений: 52
13.11.2011, 14:29  [ТС] #10
Сделал все как ты сказал, все равно не получается. Ладно оставлю как есть - а там уже проконсультируюсь у препода. Все равно Спасибо!)
0
13.11.2011, 14:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.11.2011, 14:29
Привет! Вот еще темы с ответами:

Стек или куча: как "правильно" создавать объекты классов? - C++
У меня несколько странновато-ламерский вопрос, но ведь в том и смысл: чтобы таких вопросов не осталось, на них один фиг сначала нужно...

#include "Sales_item.h" - ошибка "включаемый файл включает самого себя" - C++
Пишу в файле Sales_item.h следующее: #include &quot;Sales_item.h&quot; #include &lt;iostream&gt; void main() { Sales_item book; //тут...

Создать класс "Книга" с полями "название книги", "количество страниц", "год издания" - C++
Создать класс Книга поля: название книги,количество страниц,год издания методы: вычислить сколько лет книге и количество дней прошедших...

Создать абстрактный класс "Издание" и производные классы "Книга", "Статья", "Электронный ресурс" - C++
1. Создать абстрактный класс Издание с методами, позволяющими вывести на экран информацию об издании, а также определить является ли данное...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

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