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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.81
witalii
0 / 0 / 0
Регистрация: 16.05.2011
Сообщений: 13
#1

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

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

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

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

Подскажите, нужно перегрузить оператор или создать метод(если создать то не понимаю как) записи в файл - C++
вот как я хотел сделать запись в файл перегрузкой #pragma once #include "iostream" #include "conio.h" #include "fstream" class...

Как создать файл? - C++
Нужно создать файл, который будет открываться в программе. Как это сделать? Программа все время выдает "файл не найден" Как и где мне...

Как создать файл? - C++
Подскажите плз код.Я новичёк, программирую под CodeBlocks.Подскажите плз код, который сделает следующее: Создаст файл скажем test.bat с...

Как создать файл в VS - C++
Нашел программу в интернете http://prografix.narod.ru/rus_jacobi.html но не знаю как создать файл с ее кодом в vs открываю архив там...

Как создать файл? - C++
Как создать фаил. В котором 50000000 элементов и все они типа short. Ниже прога выдает ошибку #include <iostream> #include...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Хохол
Эксперт C++
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
16.05.2011, 19:08 #2
Хелловорлд для начала запустить попробуй.
0
DeadRipper
64 / 70 / 3
Регистрация: 25.06.2009
Сообщений: 244
16.05.2011, 19:09 #3
дело в том что он не создается, из за ошибок допущенных в коде, в нижнем окне где идет процесс компиляции все ошибки выводятся на экран
0
witalii
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
Хохол
Эксперт C++
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
16.05.2011, 19:45 #5
http://www.cyberforum.ru/cpp-beginners/thread10807.html
0
witalii
0 / 0 / 0
Регистрация: 16.05.2011
Сообщений: 13
16.05.2011, 20:05  [ТС] #6
попробовал все те способы но не в одном из них не разобрался, можете скопировать готовую хеловорлд с одним из способов приостанавливающим быстрое закрытие программы? хочется сам текст взглянуть
0
Хохол
Эксперт C++
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
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
panicwassano
592 / 560 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
16.05.2011, 20:29 #8
автор тебе надо исправить ошибки чтобы он создался, с ошибками не создается и уж тем более не запускается
0
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
16.05.2011, 20:34 #9
Скинь сюда ошибки... Что пишет?
0
witalii
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
Хохол
Эксперт C++
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
16.05.2011, 20:58 #11
Если вызывает затруднения хелловорлд, стоит забить временно на шахматы и заняться программами попроще.
0
witalii
0 / 0 / 0
Регистрация: 16.05.2011
Сообщений: 13
16.05.2011, 21:14  [ТС] #12
удалил строку 27 стало 11 ошибок, но она вроде нужна?
0
ValeryS
Модератор
6631 / 5039 / 466
Регистрация: 14.02.2011
Сообщений: 16,845
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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.05.2011, 21:18
Привет! Вот еще темы с ответами:

Как создать программу в С++, чтобы его можно было запускать как исполняемый .exe файл? - C++
Здравствуйте! Собственно вся суть сабжа содержится содержится в сабже :) допустим: // ConsoleApplication3.cpp: определяет точку...

Как создать программу, и сохранить её как файл - C++
Добрый вечер. У меня вопрос: как создать программу, и сохранить её как файл. Например: Я создал программу которая будет определять...

Дан файл целых чисел. Создать новый файл, содержащий те же элементы, что и исходный файл, но в обратном порядке - C++
Пожалуйста, помогите решить задачу в C++!!! Дан файл целых чисел. Создать новый файл, содержащий те же элементы, что и исходный файл, но...

Таймер, запускающий выполнение функции каждые n минут - C++
Необходим таймер, который будет Включать(Запускать) функцию каждые n-минут. Добавлено через 12 минут Решил проблему сам - ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.05.2011, 21:18
Ответ Создать тему
Опции темы

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