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

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

04.07.2010, 21:22. Показов 2663. Ответов 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
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru