Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/14: Рейтинг темы: голосов - 14, средняя оценка - 4.64
 Аватар для USHЁL
0 / 0 / 1
Регистрация: 15.11.2009
Сообщений: 93

раздельная компиляция и сборка в единый файл.Есть код

04.07.2010, 21:22. Показов 2692. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите,какое меню юзать в VS C++(или Dev-C++) чтобы добавить к проекту 2 файла,совсем уже запарился?
Есть код,он разделён на 3 части:main,заголовочный и определение функций из заголовочного.Компилятор Dev-C++ выдаёт сообщение In file included from main.cpp в main файле.
Если можно,объясните какие "кнопки нажимать"?
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
//bank.h
#ifndef BANK_H_
#define BANK_H_
class BankAccount
{
    private:
        //std::string name;
        //std::string acctnum;//nomer scheta
        char name[40];
        char acctnum[25];
        double balance;
    public:
        BankAccount();//konstr. po umolchaniu
        //BankAccount(const std::string & client,const std::string & num,double bal = 0.0);//konstr.
        BankAccount(const char * client,const char * num,double bal = 0.0)
        ~BankAccount();//destructor
        void show(void) const;
        void deposit(double cash);//dobavlyaet na schet dengi
        void withdraw(double cash);//snimaet dengi
};
#endif  
************************
//bank.cpp
#include <iostream>
#include <string>
#include "bank.h"
 
    /*BankAccount::BankAccount()
    {
        name = "no name";
        acctnum = "0";
        balance = 0.0;
    }*/
    BankAccount::BankAccount()
    {
        std::strcpy(name,"no name");
        std::strcpy(acctnum,"0");
        balance = 0.0;
    }
    
    /*BankAccount::BankAccount(const std::string & client,const std::string & num,double bal)
    {
        name = client;
        acctnum = num;
        balance = bal;
    }*/
    BankAccount::BankAccount(const char * client,const char * num,double bal)
    {
        strncpy(name,client,39);
        name[39] = '\0';
        strncpy(acctnum,num,24);
        acctnum[24] = '\0';
        balance = bal;
    }
    
    BankAccount::~BankAccount()
    {
    }
    
    void BankAccount::show(void) const
    {
        using std::cout;
        using std::endl;
        cout<<"Imya vkladchika: "<<name<<endl
            <<"¹ scheta: "<<acctnum<<endl
            <<"balance $: "<<balance<<endl;
        
    }
    
    void BankAccount::deposit(double cash)
    {
        balance+=cash;
    }
    
    void BankAccount::withdraw(double cash)
    {
        balance-=cash;
    }
****************************
//Object Oriented Programming
#include <cstdlib>
#include <iostream>
#include <string>
#include "bank.h"
//using namespace std;
 
int main(int argc, char *argv[])
{
    using std::cout;
    using std::endl;
    BankAccount FirstClient("Nikitin Igor","1",1000000);
    FirstClient.show();
    cout<<"Jelaete vnesti na schet dengi? Pojaluista: ";
    double mony = 0.0;
    cin>>mony;
    FirstClient.deposit(mony);
    cout<<"Vash novii schet:"<<endl;
    FirstClient.show();
    cout<<"Jelaete snyat' so scheta dengi? Pojaluista: ";
    cin>>mony;
    FirstClient.withdraw(mony);
    cout<<"Vash novii schet:"<<endl;
    FirstClient.show();
    system("PAUSE");
    return EXIT_SUCCESS;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.07.2010, 21:22
Ответы с готовыми решениями:

Раздельная компиляция. Преобразовать код в многофайловое приложение
нужна помощь в преобразовании кода программы для разделенной трансляции (заголовочный код, код реализации класса и сам модифицированный код...

Раздельная компиляция в Code::Blocks - как правильно разместить код в файлах?
В проекте code blocks есть функция main, несколько функций, которые подключаются как статические библиотеки, и структура (struct), которая...

Раздельная компиляция: как быть, если код не компилируется, так как два файла подключают друг друга?
Доброго времени суток. У меня есть какой-нибудь x.h: #include &quot;y.h&quot; class A { vector&lt;B*&gt; v; } и y.h:

6
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
05.07.2010, 00:39
А bank.cpp не хочешь в мейн подключить? Вместо bank.h который подключен именно в bank.cpp
1
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
05.07.2010, 02:12
Lavroff, все подключено правильно, просто USHЁL не умеет читать текст ошибок
Вам же ясно было написано
Цитата Сообщение от USHЁL Посмотреть сообщение
In file included from main.cpp
Если перевести, то
В файле, подключенном из main.cpp
А ниже наверное сообщения об ошибках.
Например, 15 строка - отсутствует точка с запятой
Строка 96 и 101 - вы используете cin, но не указали его принадлежность к std
1
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
05.07.2010, 02:18
M128K145, Кстати, я пытался так подключить, как тут написано. Но что-то...

Я создал ровно такой же проект. Собственно да, вы правы про то какие тут ошибки. Но что значит сие?

Error 1 fatal error LNK1104: cannot open file '.\Debug\Bank.obj' Bank

Я понимаю, что он не может открыть этот файл. Но у меня его как бэ и нет... Простите если спрашиваю глупость
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
05.07.2010, 02:22
Lavroff, у меня все нормально. Чтобы не быть голословным в аттаче проект

Кстати, раз он дошел до этой ошибки, значит все правильно подключено, просто в момент сборки у вас возникла какая-то ошибка
Вложения
Тип файла: rar tstcls.rar (4.9 Кб, 38 просмотров)
1
 Аватар для USHЁL
0 / 0 / 1
Регистрация: 15.11.2009
Сообщений: 93
05.07.2010, 02:50  [ТС]
Доброй ночи.Спасибо. Запустилось отлично. Про точку с запятой:я практически сразу её заметил, исправил у себя,но всё равно не собиралось ни как... Получается,что проблема была в пространстве имён std: не хватало строчки using std::cin?Я правильно вас понял
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
05.07.2010, 03:00
Не хватало чтобы вы писали std::cin... Или using namespace std; не комментили... Но лучше привыкайте все комманды из класса std писать так: std::cin; std::cout; std::endl и т.п. Громоздко, но может пригодится в будущем... + если уж хотите подключать по одной, то тогда каждую комманду которую будете использовать...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.07.2010, 03:00
Помогаю со студенческими работами здесь

раздельная компиляция
Вот есть три файла: заголовочный файл с классом (.h), файл с реализацией методов класса (.cpp), и функцию main. Как, корректно, выполнить...

Раздельная компиляция
В Гугле не забанен,нашел описание самого принципа,но конкретных примеров не нашел. Вопросы вот какие: 1) Если у меня есть класс,...

Раздельная компиляция
Пусть есть программа, которая состоит из 2 файлов. 1 файл: основной, там где main 2 файл: содержит некоторые функции Также есть...

Раздельная компиляция
Как в с# сделать раздельную компиляцию. Спасибо.

Раздельная компиляция
помогите пожалуйста понять как надо правильно сделать. первый файл под названием f.s foo: mov $3 , %r9


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача №1: при указании работ (справочник РаботыПоРемонтуСпецтехники),. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru