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

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

Войти
Регистрация
Восстановить пароль
 
MousePro
49 / 30 / 1
Регистрация: 25.04.2013
Сообщений: 366
#1

Создание и вызов файла с описанием функции - C++

15.07.2013, 21:24. Просмотров 663. Ответов 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
#include "iostream"
#include <stdlib.h>     
#include <time.h>  
#include <ctype.h>
#include <string.h>
 
void task(int [][13]);
void dispensation (const int*,int [][13],int [][2],int[][2]);
 
int main()
{
    setlocale( LC_ALL,"Russian" );
    srand(time(NULL));
const int a =13,b=4;
int dispen=1;
 
int desk[b][a]={0};
int hand[5][2]={0};
int hand1[5][2]={0};
task(desk);
dispensation(&dispen,desk,hand,hand1);
 
 
 
 
 
 
system("pause");
return 0;
 
}
 
void task (int desk [4][13])
{
    int c=1;
        for(int x=0;x<4;x++)
        {
            for(int y=0;y<13;y++)
            {
                desk[x][y]=c;
                c++;
            }
        }
 
int kard=1;
 
while(kard!=52)
{
    int count = 1+rand()%52;
    int count1=0;
    int count2=0;
    for(int x=0;x<3;x++)
    {
        for(int y=0;y<=13;y++)
        {
            if(desk[x][y]==kard)
            {
                count1=x;
                count2=y;
            }
            }
        }
for(int x=0;x<4;x++)
    {
        for(int y=0;y<13;y++)
        {
            if(desk[x][y]==count)
            {
                desk[x][y]=kard;
                desk[count1][count2]=count;
                
            }
        }
    }
                
kard++;
}
 
 
}
 
 
 
 
 
void dispensation(const int*Ptr,int desk [4][13],int hand[5][2],int hand1[5][2])
{
    int kard=1;
int count=0;
std::cout<<*Ptr%3<<"\n";
if(*Ptr==1 || *Ptr%3==0)
{
while(kard<=5)
{
    
    for(int x=0;x<4;x++)
    {
        for(int y=0;y<13;y++)
        {
            if(desk[x][y]==kard)
            {
                hand[count][0]=x;
                hand[count][1]=y;
                
            }
        }
    }
count++;
kard++;
}
}
}

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

Объявление класса, создание объекта и вызов функции-члена - C++
Всем добрый день! Вот так я объявляю класс. typedef map&lt;string, double&gt; datablock; typedef map&lt;string, string&gt; groupvars; ...

Вызов функции из другого файла - C++
Знаю этот вопрос, задавался не раз(возможно), но поиск показал одну тему в которой, небыло дано ясного ответа... Так вот в чем вопрос:...

вызов функции из другого файла - C++
мне необходимо вызвать функцию из другого файла (функция заполнения бинарного файла структурой, в будущем будет еще много функций) но...

Вызов функции из другого файла - C++
Ребят! Привет! Я новый на этом форуме. Мне стало интересно как заставить программу перейти с одного кода (после выполнения) на другой (не...

Вызов функции из другого файла. - C++
Всем привет!) У меня такой вопрос ,допустим есть main.cpp , и есть der.cpp .В der.cpp есть функция getfr() ,так вот как мне из ...

Связь заголовочного файла и файла с описанием класса. - C++
Всем привет! На картинке я выложил код из одной книжки, у меня возникли некоторые вопросы: - Должен ли компилироваться файл TIME1.CPP? ...

9
андрюха53
6 / 6 / 0
Регистрация: 26.12.2012
Сообщений: 50
15.07.2013, 21:52 #2
В visual c++ можно создавать dll попробуй поэксперементируй создай и вызови
0
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.07.2013, 10:26 #3
Цитата Сообщение от MousePro Посмотреть сообщение
Как поместить функции в отдельный файл и вызывать их оттуда ???
Создать в проекте .cpp файл и перенести туда реализации функций.
0
MousePro
49 / 30 / 1
Регистрация: 25.04.2013
Сообщений: 366
16.07.2013, 17:29  [ТС] #4
Цитата Сообщение от alsav22 Посмотреть сообщение
Создать в проекте .cpp файл и перенести туда реализации функций.
Ну вот смотри, создаю я файл bbb.cpp, помещаю туда функцию тасования карт (void desk), в основном проекте пишу #include <bbb.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
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
#include "iostream"
#include <stdlib.h>     
#include <time.h>  
#include <ctype.h>
#include <string.h>
#include <bbb.cpp>
 
void task(int [][13]);
void dispensation (const int*,int [][13],int [][2],int[][2]);
 
int main()
{
    setlocale( LC_ALL,"Russian" );
    srand(time(NULL));
const int a =13,b=4;
int dispen=1;
 
int desk[b][a]={0};
int hand[5][2]={0};
int hand1[5][2]={0};
task(desk);
dispensation(&dispen,desk,hand,hand1);
 
 
 
 
 
 
system("pause");
return 0;
 
}
 
 
 
 
 
 
void dispensation(const int*Ptr,int desk [4][13],int hand[5][2],int hand1[5][2])
{
    int kard=1;
int count=0;
std::cout<<*Ptr%3<<"\n";
if(*Ptr==1 || *Ptr%3==0)
{
while(kard<=5)
{
    
    for(int x=0;x<4;x++)
    {
        for(int y=0;y<13;y++)
        {
            if(desk[x][y]==kard)
            {
                hand[count][0]=x;
                hand[count][1]=y;
                
            }
        }
    }
count++;
kard++;
}
}
if(*Ptr==2 || *Ptr%3==1)
{
while(kard<=5)
{
    
    for(int x=0;x<4;x++)
    {
        for(int y=0;y<13;y++)
        {
            if(desk[x][y]==kard)
            {
                hand[count][0]=x;
                hand[count][1]=y;
                
            }
        }
    }
count++;
kard++;
}
}
}

содержимое bbb.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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
void task (int desk [4][13])
{
    int c=1;
        for(int x=0;x<4;x++)
        {
            for(int y=0;y<13;y++)
            {
                desk[x][y]=c;
                c++;
            }
        }
 
int kard=1;
 
while(kard!=52)
{
    int count = 1+rand()%52;
    int count1=0;
    int count2=0;
    for(int x=0;x<3;x++)
    {
        for(int y=0;y<=13;y++)
        {
            if(desk[x][y]==kard)
            {
                count1=x;
                count2=y;
            }
            }
        }
for(int x=0;x<4;x++)
    {
        for(int y=0;y<13;y++)
        {
            if(desk[x][y]==count)
            {
                desk[x][y]=kard;
                desk[count1][count2]=count;
                
            }
        }
    }
                
kard++;
}
 
 
}
0
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.07.2013, 17:49 #5
Цитата Сообщение от MousePro Посмотреть сообщение
<bbb.cpp>, правильно???
Нет. В main() нужны только прототипы. .cpp никуда инклудить не нужно.

Добавлено через 6 минут
В bbb.cpp добавить (для rand()):
C++
1
#include <stdlib.h>
и реализацию dispensation (где она?).
1
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.07.2013, 17:50 #6
Цитата Сообщение от MousePro Посмотреть сообщение
а что делать если в функции используется функция из стандартной библиотеки? например ранд???
Инклудить что нужно (5 пост). Так же, как и в main().
0
MousePro
49 / 30 / 1
Регистрация: 25.04.2013
Сообщений: 366
16.07.2013, 17:53  [ТС] #7
Цитата Сообщение от alsav22 Посмотреть сообщение
Нет. В main() нужны только прототипы. .cpp никуда инклудить не нужно.

Добавлено через 6 минут
В bbb.cpp добавить (для rand()):
C++
1
#include <stdlib.h>
и реализацию dispensation (где она?).
она ниже майна в проекте)))
Просто я всегда писал программки из книги в 1 файле и это очень не удобно если надо написать много....
Вот теперь узнал, будет легче
0
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.07.2013, 17:56 #8
Прототипы обычно помещают в отдельный .h файл и инклудят, где нужно (в данном примере в main()).

Добавлено через 58 секунд
Цитата Сообщение от MousePro Посмотреть сообщение
она ниже майна в проекте)))
Не увидел... В bbb.cpp и её.

Добавлено через 2 минуты
По правилам здесь должно быть три файла: .h файл с прототипами, файл .cpp с реализациями и файл .cpp с main().
1
MousePro
49 / 30 / 1
Регистрация: 25.04.2013
Сообщений: 366
16.07.2013, 17:57  [ТС] #9
Цитата Сообщение от alsav22 Посмотреть сообщение
Прототипы обычно помещают в отдельный .h файл и инклудят, где нужно (в данном примере в main()).

Добавлено через 58 секунд

Не увидел... В bbb.cpp и её.

Добавлено через 2 минуты
По правилам здесь должно быть три файла: .h файл с прототипами, файл .cpp с реализациями и файл .cpp с main().
33-84 в мейне

Все спасибо, я понял
0
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.07.2013, 18:01 #10
В bbb.cpp добавить #include <iostream> (в dispensation() cout есть).
1
16.07.2013, 18:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.07.2013, 18:01
Привет! Вот еще темы с ответами:

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

Вызов функции класса из другого файла.(Модель компиляции) - C++
Здравствуйте! Пишу движек игры, написал большую часто кода по которой задумывалось примерно то что тут ниже. не могу понять как...

Считать одномерный массив с файла, отсортировать его использую рекурсивный вызов функции - C++
Нужно написать прогу на Си, самую элементарную... Считать одномерный массив с файла, отсортировать его использую рекурсивный вызов функции,...

Вызвать на выполнение созданные в функции main проекта, подключив header файл с описанием созданных функций - C++
Помогите решить вот такую задачку, особые проблемы у меня возникают в работе с heder файлом. Создать библиотечный файл в котором...


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

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

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