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

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

Войти
Регистрация
Восстановить пароль
 
skynet120
0 / 0 / 0
Регистрация: 22.01.2013
Сообщений: 76
#1

Как правильно использовать несколько файлов - C++

17.02.2013, 23:19. Просмотров 725. Ответов 2
Метки нет (Все метки)

Доброе время суток,

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

есть 3 файла: main.cpp (основной); les3.cpp, les4.cpp (дополнительные) - возможно их нужно переименовать

main.cpp:
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
#include <iostream>
#include <conio.h>
#include <stdio.h>
 
#include "les3.cpp"
#include "les4.cpp"
 
using namespace std;
 
int main()
{
    int N;
 
    do{
        cout << "Выберите номер урока (1-3): ";
        cin >> N;
 
        switch(N) {case 1: les3(); break; case 2: les4(); break;}
 
        system("cls");
 
    } while (N!='X');
 
    return(0);
}
les3.cpp
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
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int les3()
{
    setlocale(LC_ALL,"RUS");
 
    int N;
 
    do{
 
        system("cls");
 
        cout << "Домашнее задание к уроку №3" << "\n";
        cout << "------------------------------------------" << "\n";
 
        cout << "Укажите номер задания (1-3): ";
        cin >> N;
 
        switch (N){
 
//Задание 1
        case 1: {
........
les4.cpp
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
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int les4()
{
    setlocale(LC_ALL,"RUS");
 
    int N;
 
    do{
 
        system("cls");
 
        cout << "Домашнее задание к уроку №4" << "\n";
        cout << "------------------------------------------" << "\n";
 
        cout << "Укажите номер задания (1-3): ";
        cin >> N;
 
        system("cls");
 
        switch (N){
 
 
//Задание 1
        case 1:
........
VS2012 выдает ошибки:
1. Error 1 error LNK2005: "int __cdecl les3(void)" (?les3@@YAHXZ) already defined in les3.obj d:\Programing\kaplun.a.v\les4\homework_global\homework_global\main.obj homework_global
2. Error 2 error LNK2005: "int __cdecl les4(void)" (?les4@@YAHXZ) already defined in les4.obj d:\Programing\kaplun.a.v\les4\homework_global\homework_global\main.obj homework_global
3. Error 3 error LNK1169: one or more multiply defined symbols found D:\Programing\kaplun.a.v\les4\homework_global\Debug\homework_global.exe homework_global


подскажите как быть
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.02.2013, 23:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как правильно использовать несколько файлов (C++):

Как пользоваться заголовочными файлами и использовать несколько исходных файлов? - C++
Как пользоваться несколькими файлами cpp, и заголовками h , в Visual Studio WIN32 C++ Дайте пожалуйста инфу, или статью , как...

Как правильно использовать потоки? - C++
Тему про потоки прочёл. Так же ознакомился с классом mutex. И вот есть некий вопрос: как правильно использовать синхронизацию потоков в...

Как правильно использовать struct? - C++
Написал небольшую, глупенькую программку, но столкнулся с проблемой заполнения структуры. Если kube.size вводит, то kube.color программа...

Как правильно использовать cin.get? - C++
cin.get и cin.getline - одно и то же? Мне нужно задание полностью с указателями сделать, но я не понимаю как использовать при этом...

Как правильно использовать цикл? - C++
Задача с экспонентами. Нужно найти следующее: ...

Как правильно использовать thread? - C++
Не могу понять как удалить поток thread во время его выполнения. То есть у меня есть поток в которым зацикливание (ниже в коду увидите) и в...

2
vua72
416 / 416 / 85
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
18.02.2013, 00:52 #2
как-то так
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
#include <stdio.h>
// описываем функцию f1() как внешнюю
extern int f1();
// описываем функцию f2() как внешнюю
extern int f2();
int main()
{
    int n1, n2;
    n1 = f1();
    n2 = f2();
    printf("f1() = %d\n",n1);
    printf("f2() = %d\n",n2);
    return 0;
}
 
//Теперь создаем два файла, каждый из которых будет содержать полное определение внешней функции из главной программы. Файлы назовем f1.c и f2.c: 
 
// файл f1.c
int f1()
{
    return 2;
}
// файл f2.c
int f2()
{
    return 10;
}
0
skynet120
0 / 0 / 0
Регистрация: 22.01.2013
Сообщений: 76
18.02.2013, 00:58  [ТС] #3
спасибо, разобрался.
нужно было доп. файлы делать хедерными (.h) и сразу все заработало
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.02.2013, 00:58
Привет! Вот еще темы с ответами:

Как правильно использовать map? - C++
Свой код писал по примеру cut. Вот, что есть, и показываю скрин екхепшана, который выбрасывается. Кто-нибудь может помочь разобраться...

Как правильно вызвать метод в С++ и как использовать команду goto в default - C++
#include &lt;iostream&gt;; #include &lt;conio.h&gt;; using namespace std; void main() { setlocale(LC_ALL, &quot;Rus&quot;); calculate(); ...

как объявить правильно tr и как его использовать при вызове функции? - C++
main.cpp case 8: cout &lt;&lt; &quot;Firs trapec # is: &quot;; cin &gt;&gt; k; k = k - 1; cout &lt;&lt; &quot;Second trapec # is: &quot;; cin &gt;&gt; j;...

Как правильно использовать классы? Как вывести значение класса на экран? - C++
Всех приветствую. Делаю задание по книге. По заданию нужно завести класс, в котором хранится информация о книгах: число выданных на руки...


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

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

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