Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 16.05.2011
Сообщений: 13
1

Как создать запускающий файл?

16.05.2011, 19:05. Показов 3049. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
недавно решил заняться программированием C++, начал делать шахматы, при запуске программы выдает что у меня отсутствует запускающий файл с расширением
Как создать запускающий файл?
.exe как мне сделать этот файл?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.05.2011, 19:05
Ответы с готовыми решениями:

Создать exe, запускающий exe
Говорю сразу: я ничего не смыслю в програмировании; зачем подался на такой форум? Надеюсь получить...

В vb5 создать запускающий файл (скомпилировать)
Как в vb5 создать запускающий файл (скомпилировать), чтобы все работало без установленной программы...

Создать пакетный файл, запускающий в зависимости от значения входного параметра то или иное приложение
Мне нужно создать пакетный файл, запускающий в зависимости от значения входного параметра следующие...

Как создать скрипт запускающий ярлык с параметром
Подскажите пожалуйста, как создать скрипт который будет открывать ярлык с параметром?

12
Эксперт С++
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
16.05.2011, 19:08 2
Хелловорлд для начала запустить попробуй.
0
65 / 71 / 9
Регистрация: 25.06.2009
Сообщений: 244
16.05.2011, 19:09 3
дело в том что он не создается, из за ошибок допущенных в коде, в нижнем окне где идет процесс компиляции все ошибки выводятся на экран
0
0 / 0 / 0
Регистрация: 16.05.2011
Сообщений: 13
16.05.2011, 19:35  [ТС] 4
я эту программку делаю по книге Корнилов "создание шахмат", уже исправил кучу ошибок связанных со скобками и т.д. вот вся программа:

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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
// 2.cpp : Defines the entry point for the application.
//
#include "stdafx.h"
#include "2.h"
int static TMove; gMove; //сюда вернется лучший ход 
int Search(int alpha,int beta,int Depth, int ply); 
{
//пока не нашли лучшего хода
NoFindMove(retMove); 
if (Depth <= 0 | I TimeOverO()) return Evaluate (); 
TMove tmpMove; //стековая промежуточная переменная
//найдем лучший ход на меньшую глубину
Search(alpha,beta,Depth-2,retMove,ply); 
//если лучший ход найдем, попробуем его первым
if(findMove) 
}
{ 
MakeMove(retMove); 
int tmp = -Search(-beta,-alpha,Depth-1, 
&tmpMove, //нам не потребуется
ply+1); 
UnMakeMove(retMove); 
if(tmp > alpha) alpha = tmp; 
if(alpha >= beta) return alpha; 
} 
//основной счет 
{...} 
///допустим, нашли ход
{...} 
{
MakeMove (move) ; 
tmp = -Search(-beta,-alpha,Depth-1,&tmpMove,ply+1); 
UnMakeMove(move); 
if(tmp > alpha) 
{ 
alpha = tmp; 
if(!TimeOver() ) 
memcpy(retMove,move,sizeof(TMove)); 
} 
if(alpha >= beta) return alpha; 
{...} 
return alpha; 
} 
{
typedef struct _TMove{ 
int xl,yl,x2,y2; //откуда и куда пошла фигура
int f; //сама фигура 
int newF; //значение фигуры на новом месте
//пешка после превращения меняет значение
int eatFX, eatFY;//координаты съеденной фигуры
//при взятии пешкой через битое поле
//эти координаты не совпадают с новым
//местом фигуры
int eatF; //сама съеденная фигура
int score; //приращение оценки при ходе
bool isExtMoveKing; //рокировка? 
int Depth; //глубина счета
}TMove,*PMove; 
#define B BLACK 
#define W WHITE 
static unsigned char _pos [ 8 ] [ 8 ] = 
{ROOK|Р’,KNIGHT|Р’,BISHOP|Р’ }, 
{...}
}
//делает перемещение
(void MakeMove(PMove move));
{ 
if(!move->isExtMoveKing) 
{ 
_pos[move->yl][move->xl] = 0; 
_pos[move->eatFY][move->eatFX] = 0; 
_pos[move->y2][move->x2] = move->newF; 
}else{ 
//рокировка
    {...}
}
}
//восстанавливает позицию
(void UnMakeMove(PMove move));
{ 
//все в обратном порядке
    {...}
}
{
    //массивы со стратегической оценкой
typedef int TStBoard[8][8]; 
//стратегическая оценка 
//для верхних
static TStBoard _upSt = 
{ 
{ 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} 
}; 
//для нижних
static TStBoard _botSt = 
{ 
{64,63,62,61,60,59,58,57}, 
{56,55,54,53,52,51,50,49}, 
{48,47,46,45,44,43,42,41}, 
{40,39,38,37,36,35,34,33}, 
{32,31,30,29,28,27,26,25}, 
{24,23,22,21,20,19,18,17}, 
{16,15,14,13,12,11,10, 9}, 
{ 8, 7, 6, 5, 4, 3, 2, 1} 
};
//массив быстрой перекодировки кода фигуры в ее вес
static int _wf [7] = {0,W_KING,W_QUEEN,W_ROOK,W_BISHOP,W_KNIGHT,W_PAWN} ; 
//возвращает приращение оценки хода
int delRes( TStBoard *myB, //оценка наших фигур
TStBoard *opB, //противника
PMove move //описатель перемещения
)
{
int score; 
if(move->isExtMoveKing) 
{ 
//рокировка
{...} 
}else{ 
score = _wf[FIGURE(move->newF) - _wf[FIGURE(move->f)] + 
(*myB) [move->y2] [move->x2] - 
(*myB) [move->yl] [move->xl] ; 
if(eatF) 
{ 
score += _wf[FIGURE(move->eatF); 
score += (*opB)[move->eatFY][move->eatFX]; 
}
}
return score; 
} 
//цвет верхних фигур
static int _upFColor; 
//сама функция счета (схематично)
int Search(PMove node, //описатель хода в эту позицию
int Depth, //сколько полуходов осталось
int ply, //абсолютная глубина от 0 
int alpha, 
int beta, 
PMove retMove, //найденный ход
int score, //текущая оценка узла
bool isLazyEval, //идет сокращенный просчет
int color //цвет наших фигур
)
{
TStBoard *myB,*opB; 
int nextColor = color=BLACK?WHITE:BLACK; 
//инициализируем переменные
if(color != _upFColor) 
{ 
//если наши фигуры нижние
myB = &_botSt; opB = &_upSt; 
}else{ 
myB = &_upSt; opB = &_botSt; 
} 
retMove->f = 0; //нет пока лучшего хода
if(Depth <= 0 || TimeOver()) return score; 
int res = -INFINITY; //возвращаемая оценка
//в эту стековую переменную будет возвращен лучший ход
TMove tmpMove; 
//структура выборочного поиска
static int ext[100] = 
{-64,-64,-64,-64, 
-64,W_PAWN,W_BISHOP,W_ROOK,W_QUEEN,INFINITY,INFINITY,...}; 
//повышаем alpha текущей оценкой
if(ply > 0 && //если не первый полуход
node->score < ext[ply] && //ход не продлевается
!lnCheck(node) //не шах
)
{
res = score; 
if(res > alpha) alpha = res; 
if(alpha >= beta) return alpha; 
}
//переберем на глубину Depth-2 для получения
//лучшего хода 
int tmp = Search(node,Depth-2,ply,alpha,beta, 
retMove, 
score, 
ply==O?false:true, 
color 
); 
/// lazy eval ///// 
//если данный узел удовлетворяет некоторым требованиям, 
//мы можем отсечь его, основываясь на результате сокращенного счета
if(retMove->f && //если нашли лучший ход
retMove->Depth >= Depth-2 //достаточная глубина
ply != 0 && //не первый вызов
!isLazyEval && //не делаем сокращенного поиска
score - 64 >= beta && //оценка и поле роста >= beta 
tmp-64 >= beta && //проверка подтверждает
node->score < W_PAWN && //не взятие
!InCheck(node) //не шах
)
{
return beta; //целая ветвь подрезана!!! 
} 
//прежде, чем нашли перемещения,
//попробуем найденный лучший ход
if(retMove->f) //если такой ход найден
{ 
MakeMove(retMove); 
tmp = -Search( retMove, //описатель хода в эту позицию
Depth-1, //сколько полуходов осталось
ply+1, //абсолютная шлубина от 0
-beta, 
-alpha, 
&tmpMove, //найденный ход (нам не нужен)
-(score+retMove->score), //текущая оценка узла
isLazyEval, 
nextColor 
); 
UnMakeMove (retMove) ; 
if(tmp > res) res = tmp; 
if(res > alpha) 
{ 
//если не превышен лимит времени
if(ITimeOver()) 
{ 
//лучший ход тот же,
//только корректируем глубину
retMove->Depth = Depth; 
} 
alpha = res; 
} 
if(alpha >= beta) return alpha; 
}//endif 
///////// взятия ///////////////////////////// 
//нашли взятие - сразу в следующую позицию //// 
{...}
////// допустим, нашли ход //////////////////// 
{...} 
//приращение при ходе
ove->score = delRes(myB,opB,move); 
MakeMove(move); 
tmp = -Search( move, //описатель хода в эту позицию
Depth-1, //сколько полуходов осталось
ply+1, //абсолютная глубина от 0
-beta, 
-alpha, 
&tmpMove, //найденный ход (нам не нужен)
-(score+move->score), //текущая оценка узла
isLazyEval, 
nextColor 
); 
if(tmp > res) res = tmp; 
if(res > alpha) 
{ 
alpha = res; 
if(!TimeOver()) 
{ 
memcpy(retMove,move,sizeof(TMove)); 
retMove->Depth = Depth; 
}
}
if(alpha >= beta) return alpha; 
UnMakeMove(move); 
{...} 
(...) 
return res; 
}
}//end function
Добавлено через 1 минуту
здесь вроде еще нужно создать начальную функцию для PMove но у меня не получается(( подскажите что-нибудь

Добавлено через 22 минуты
попробовал сделать простую программу хелловорлд при запуске она появляется на долю секунды и исчезает, это что означает?

 Комментарий модератора 
Используйте теги форматирования кода!
0
Эксперт С++
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
16.05.2011, 19:45 5
https://www.cyberforum.ru/cpp-... 10807.html
0
0 / 0 / 0
Регистрация: 16.05.2011
Сообщений: 13
16.05.2011, 20:05  [ТС] 6
попробовал все те способы но не в одном из них не разобрался, можете скопировать готовую хеловорлд с одним из способов приостанавливающим быстрое закрытие программы? хочется сам текст взглянуть
0
Эксперт С++
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
16.05.2011, 20:24 7
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
 
using namespace std;
 
int main()
{
    cout << "Hello, world" << endl;
    system("pause");
}
1
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
16.05.2011, 20:29 8
автор тебе надо исправить ошибки чтобы он создался, с ошибками не создается и уж тем более не запускается
0
542 / 447 / 162
Регистрация: 10.12.2009
Сообщений: 1,857
16.05.2011, 20:34 9
Скинь сюда ошибки... Что пишет?
0
0 / 0 / 0
Регистрация: 16.05.2011
Сообщений: 13
16.05.2011, 20:56  [ТС] 10
1>------ Build started: Project: 2, Configuration: Debug Win32 ------
1>Compiling...
1>2.cpp
1>c:\users\z\documents\visual studio 2005\projects\2\2\2.cpp(5) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\users\z\documents\visual studio 2005\projects\2\2\2.cpp(7) : error C2447: '{' : missing function header (old-style formal list?)
1>c:\users\z\documents\visual studio 2005\projects\2\2\2.cpp(17) : error C2447: '{' : missing function header (old-style formal list?)
1>c:\users\z\documents\visual studio 2005\projects\2\2\2.cpp(27) : error C2447: '{' : missing function header (old-style formal list?)
1>c:\users\z\documents\visual studio 2005\projects\2\2\2.cpp(29) : error C2447: '{' : missing function header (old-style formal list?)
1>c:\users\z\documents\visual studio 2005\projects\2\2\2.cpp(30) : error C2447: '{' : missing function header (old-style formal list?)
1>c:\users\z\documents\visual studio 2005\projects\2\2\2.cpp(44) : error C2447: '{' : missing function header (old-style formal list?)
1>c:\users\z\documents\visual studio 2005\projects\2\2\2.cpp(66) : error C2062: type 'void' unexpected
1>c:\users\z\documents\visual studio 2005\projects\2\2\2.cpp(67) : error C2447: '{' : missing function header (old-style formal list?)
1>c:\users\z\documents\visual studio 2005\projects\2\2\2.cpp(79) : error C2062: type 'void' unexpected
1>c:\users\z\documents\visual studio 2005\projects\2\2\2.cpp(80) : error C2447: '{' : missing function header (old-style formal list?)
1>c:\users\z\documents\visual studio 2005\projects\2\2\2.cpp(84) : error C2447: '{' : missing function header (old-style formal list?)
1>Build log was saved at "file://c:\Users\Z\Documents\Visual Studio 2005\Projects\2\2\Debug\BuildLog.htm"
1>2 - 12 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Добавлено через 2 минуты
как я понял мне нужно сделать заголовок для PMove пробовал несколько вариантов но все были неправильными, также пробовал вставлять путь к файлу в тулс оптионс проект анд солюшен инклуд и там печатал, все равно не помогает
0
Эксперт С++
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
16.05.2011, 20:58 11
Если вызывает затруднения хелловорлд, стоит забить временно на шахматы и заняться программами попроще.
0
0 / 0 / 0
Регистрация: 16.05.2011
Сообщений: 13
16.05.2011, 21:14  [ТС] 12
удалил строку 27 стало 11 ошибок, но она вроде нужна?
0
Модератор
Эксперт по электронике
8947 / 6713 / 921
Регистрация: 14.02.2011
Сообщений: 23,687
16.05.2011, 21:18 13
заплюхался со скобками ???
смотри вот это
Цитата Сообщение от witalii Посмотреть сообщение
int Search(int alpha,int beta,int Depth, int ply);
описание функции( точка с запятой)
объявление функции должно выглядеть так
C++
1
2
3
4
int Search(int alpha,int beta,int Depth, int ply)
{
/// что то делаем
}
нет точки с запятой
у тебя же

Цитата Сообщение от witalii Посмотреть сообщение
int Search(int alpha,int beta,int Depth, int ply);
{
//пока не нашли лучшего хода
после точки с запятой стоит фигурная скобка
что для компилятора является ошибкой
он не может связать тело функции с заголовком
1>c:\users\z\documents\visual studio 2005\projects\2\2\2.cpp(7) : error C2447: '{' : missing function header (old-style formal list?)
переписывай внимательнее
а еще лучше изучай синтаксис и тогда сам будешь видеть где ошибки

Добавлено через 4 минуты
27 строка не нужна
она показывает что в теле функции есть какие то команды
(функция свернута) делается для удобства чтения листинга
но компилятор такого не понимает
Цитата Сообщение от witalii Посмотреть сообщение
{...}
1
16.05.2011, 21:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.05.2011, 21:18
Помогаю со студенческими работами здесь

Как создать Button запускающий SQL-запрос?
Работаю на SQL server 2014 + Visual Studio 2013. Есть хранимая процедура &quot;FormirovanieOstIzPrihoda&quot;...

Как создать скрипт, запускающий определённую процедуру по закрытию браузера?
Помогите решить такую задачу: В win2008server с ролью терминального сервера пользователь...

Bat-файл, запускающий другой bat-файл в нужной кодировке (дубль 2)
Здраствуйте! Суть вопроса в следующем. У меня есть батник который генерируется при формировании...

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

Bat-файл, запускающий другой bat-файл в нужной кодировке
Здраствуйте! Суть вопроса в следующем. У меня есть батник который генерируется при формировании...

Как правильно написать бат, запускающий программы
Нужно создать командный файл, запускающий на выполнение программы, перечисленные в командной строке...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru