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

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

Восстановить пароль Регистрация
 
MousePro
49 / 30 / 1
Регистрация: 25.04.2013
Сообщений: 366
15.07.2013, 21:24     Создание и вызов файла с описанием функции #1
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++;
}
}
}

Как поместить функции в отдельный файл и вызывать их оттуда ???
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
андрюха53
6 / 6 / 0
Регистрация: 26.12.2012
Сообщений: 50
15.07.2013, 21:52     Создание и вызов файла с описанием функции #2
В visual c++ можно создавать dll попробуй поэксперементируй создай и вызови
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.07.2013, 10:26     Создание и вызов файла с описанием функции #3
Цитата Сообщение от MousePro Посмотреть сообщение
Как поместить функции в отдельный файл и вызывать их оттуда ???
Создать в проекте .cpp файл и перенести туда реализации функций.
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++;
}
 
 
}
alsav22
5282 / 4801 / 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 (где она?).
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.07.2013, 17:50     Создание и вызов файла с описанием функции #6
Цитата Сообщение от MousePro Посмотреть сообщение
а что делать если в функции используется функция из стандартной библиотеки? например ранд???
Инклудить что нужно (5 пост). Так же, как и в main().
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 файле и это очень не удобно если надо написать много....
Вот теперь узнал, будет легче
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.07.2013, 17:56     Создание и вызов файла с описанием функции #8
Прототипы обычно помещают в отдельный .h файл и инклудят, где нужно (в данном примере в main()).

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

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

Все спасибо, я понял
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.07.2013, 18:01     Создание и вызов файла с описанием функции
Еще ссылки по теме:

C++ Вызов функции из другого файла.
C++ Объявление класса, создание объекта и вызов функции-члена
Вызов функции в параметре другой функции C++

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

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.07.2013, 18:01     Создание и вызов файла с описанием функции #10
В bbb.cpp добавить #include <iostream> (в dispensation() cout есть).
Yandex
Объявления
16.07.2013, 18:01     Создание и вызов файла с описанием функции
Ответ Создать тему
Опции темы

Текущее время: 23:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru