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

не работает графика(не могу подключить) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.80
polindroma
0 / 0 / 0
Регистрация: 06.12.2011
Сообщений: 18
15.01.2012, 14:00     не работает графика(не могу подключить) #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
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
#include <dos.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <graphics.h>
 
#define color_close 14
#define color_st_end 12
 
 
typedef struct point
{int x;
 int y;
} Point;
 
 
void main ()
{Point start, end;      
 Point point_closed[100];   
 Point lines[5000]={0,0};   
 int count_closed;      
 int level;         
 int iteration=0;       
 int pole[45][45]={0};         
 int i,j, status;       
 int gdriver, gmode, errorcode; 
 int orient=1;          
 int x, y;          
 char buf[256];
 char bbb[256]={219,219,219,219,219,219,219,219,219,219,219,219,219,219,219,219,219,219,219,219};
 FILE *f;
 
 
 gdriver = DETECT;
 gmode = IBM8514LO;
 
 
 clrscr ();
 
 
 printf ("razmernost: 2\n");
 
 
 printf ("Coordinate of start point (X Y): ");
 scanf ("%d%d", &start.x, &start.y);
 
 
 printf ("Coordinate of end point (X Y): ");
 scanf ("%d%d", &end.x, &end.y);
 
 
 printf ("Count of closed point: ");
 scanf ("%d", &count_closed);
 
 
 for (i=0; i<count_closed; i++)
    {printf ("Coordinate of close point %2.0d (X Y): ", i+1);
     scanf ("%d%d", &point_closed[i].x, &point_closed[i].y);
    }
 
 
 initgraph(&gdriver, &gmode,"");
 errorcode = graphresult();
 
 
 f = fopen("file_out.txt", "w");
 
 
 for (i=0; i<count_closed; i++)
    {pole[point_closed[i].x-1][point_closed[i].y-1] = 2;}
 pole[start.x-1][start.y-1] = 3;
 pole[end.x-1][end.y-1] = 4;
 
 
 setcolor(15);
 for (i=0; i<=45; i++)
    {moveto(175,15+i*10);
     lineto(625,15+i*10);
     moveto(175+i*10,15);
     lineto(175+i*10,465);
    }
 
 
 for (i=0; i<45; i++)
    {for (j=0; j<45; j++)
    {if (pole[i][j] == 2)
        {setcolor(4);}
     if (pole[i][j] == 3)
        {setcolor(12);}
     if (pole[i][j] == 4)
        {setcolor(8);}
     if (pole[i][j] != 0)
        {circle(180+i*10,460-j*10,0);
         circle(180+i*10,460-j*10,1);
         circle(180+i*10,460-j*10,2);
         circle(180+i*10,460-j*10,3);
         circle(180+i*10,460-j*10,4);
        }
    }
    }
 
 
 level = 0;
 x = start.x-1;
 y = start.y-1;
 
 
 sleep(2);
 setcolor(15);
 while (1)
    {
     
    
     if (status != 2)
    {status = 0;
         orient = random(1000) % 2;
    }
 
     
     if (orient == 0 && ((pole[x+1][y] == 0 && x < 44) || (pole[x-1][y] == 0 && x > 0)))
    {/* ЇҐаҐ¤ўЁЈ*Ґ¬бп */
     if (pole[x+1][y] == 0 && x < 44)
        {x++;} 
     else
        {x--;}
 
     lines[level].x = x;
     lines[level].y = y;
     level++;
     pole[x][y] = 1;
     status = 1;
    }
 
     
     if (orient == 1 && ((pole[x][y+1] == 0 && y<44) || (pole[x][y-1] == 0 && y > 0)))
    {if (pole[x][y+1] == 0 && y < 44)
        {y++;} 
     else
        {y--;} 
 
        
    
     lines[level].x = x;
     lines[level].y = y;
     level++;
     pole[x][y] = 1;
     status = 1;
    }
     
     if (status == 0)
    {status = 2;
     orient = (orient+1)%2;
    }
     else
    
    {if (status == 2)
        {status = 0;
         while(((pole[lines[level-1].x+1][lines[level-1].y] != 0 &&
             pole[lines[level-1].x-1][lines[level-1].y] != 0 &&
             pole[lines[level-1].x][lines[level-1].y+1] != 0 &&
             pole[lines[level-1].x][lines[level-1].y-1] != 0 &&
             lines[level-1].x > 0 && lines[level-1].x < 44 &&
             lines[level-1].y > 0 && lines[level-1].y < 44) ||
           ((pole[lines[level-1].x+1][lines[level-1].y] != 0 && lines[level-1].x ==  0) ||
            (pole[lines[level-1].x-1][lines[level-1].y] != 0 && lines[level-1].x == 44) ||
            (pole[lines[level-1].x][lines[level-1].y+1] != 0 && lines[level-1].y ==  0) ||
            (pole[lines[level-1].x][lines[level-1].y-1] != 0 && lines[level-1].y == 44))) &&
            level > 0)
        level--;
         
         x = lines[level-1].x;
         y = lines[level-1].y;
 
         
         if (level == 0)
        {closegraph();
         printf ("error. point not found.");
         exit(0);
        }
        }
    }
 
    
     iteration++;
 
     
     setcolor (0);
     sprintf (buf,"Level: %d", level);
     moveto (10,10); outtext (bbb);
     setcolor (2);
     moveto (10,10); outtext (buf);
 
     
     setcolor (0);
     sprintf (buf,"All count: %d", iteration);
     moveto (10,20); outtext (bbb);
     setcolor (2);
     moveto (10,20); outtext (buf);
 
    
     setcolor (15);
     circle(180+x*10,460-y*10,0);
     circle(180+x*10,460-y*10,1);
     circle(180+x*10,460-y*10,2);
     delay(5000);
 
     
     if ((pole[lines[level-1].x+1][lines[level-1].y] == 4 && x <44) ||
     (pole[lines[level-1].x-1][lines[level-1].y] == 4 && x > 0) ||
     (pole[lines[level-1].x][lines[level-1].y+1] == 4 && y <44) ||
     (pole[lines[level-1].x][lines[level-1].y-1] == 4 && y > 0))
    {
     setcolor (2);
     sprintf (buf,"Point found!!!");
     moveto (10,30); outtext (buf);
 
     
        **
     sleep(1);
     sprintf (buf,"Start line!");
     moveto (10,40); outtext (buf);
 
     
     fprintf (f,"%d:%d - start point\n", start.x, start.y);
 
     
     setcolor (3);
 
     
     for (i=0; i<level; i++)
        {
         circle(180+lines[i].x*10,460-lines[i].y*10,0);
         circle(180+lines[i].x*10,460-lines[i].y*10,1);
         circle(180+lines[i].x*10,460-lines[i].y*10,2);
         delay (10000);
 
        
         fprintf(f,"%d:%d\n", lines[i].x, lines[i].y);
        }
 
    
     fprintf (f,"%d:%d - end point", end.x, end.y);
 
     
     setcolor (6);
     sprintf (buf,"Press any key to end...");
     moveto (10,50); outtext (buf);
 
    
     getch ();
 
 
     closegraph();
     printf ("done. point found. programm closed.");
     exit(0);
В Borland C++ Release 5.02 сомпилятор мне написал,что BGI графика под виндоуз не поддрерживается.А линковщик Borland C++ & Application Frameworks 3.1 ругается на все функции графического режима.Я уже и файл EGAVGA.BGI положила в одну папку с СРР-все равно.Подскажите,пожалуйста,что сделать нужно.Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.01.2012, 14:00     не работает графика(не могу подключить)
Посмотрите здесь:

C++ Не могу подключить Header file к проекту...
Не могу подключить Friend функцию C++
Не могу подключить файлы из BGI для <graphics.h> C++
C++ Про инклюды (не могу подключить хидера)
Не могу подключить библиотеку C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
15.01.2012, 14:29     не работает графика(не могу подключить) #2
Цитата Сообщение от polindroma Посмотреть сообщение
В Borland C++ Release 5.02 сомпилятор мне написал,что BGI графика под виндоуз не поддрерживается.
Но Вас это, видимо, не убедило? Кстати, он даже в Borland C++ Release 5.02 компиляторм называется...
Если так необходимо имеено этот анахронизм запустить, я бы ему и среду соответствующую создать постарался. Найдите и скачайте бесплатную программу DosBox (имитатор DOS), найдите где-нибудь Borland C++ 3.x, скопируйте её в ту папку, которую DosBox диском С: считает, и вот из-под этого самого DosBox в этой самой Borland C++ при нереальном везении оно может и запустится...
polindroma
0 / 0 / 0
Регистрация: 06.12.2011
Сообщений: 18
15.01.2012, 17:34  [ТС]     не работает графика(не могу подключить) #3
так я этот файл в Borland C++ 3.1 открываю и пытаюсь запустить.Тут никто про BGI графику не ругается.А ругается на все функции графического режима(initgraph,graphresult и т.д.).Чего ему не хватает?

Добавлено через 23 минуты
даже если скопировать пример(например,окружность)в файл из справки и попробовать запустить на выполнение,то на все графические функции ругается....
liker error:undefined symbol _setcolor in modul и по всем остальным тоже.Я так понимаю,я что то не подключаю.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
15.01.2012, 20:16     не работает графика(не могу подключить) #4
polindroma, а посмотрите в открытой IDE TurboC Options->Linker->Libraries стоит крестик напротив Graphics library?
Ну и в Options->Directories Library Directories должен в правильное место указывать...
polindroma
0 / 0 / 0
Регистрация: 06.12.2011
Сообщений: 18
15.01.2012, 22:00  [ТС]     не работает графика(не могу подключить) #5
я уже нашла)))там,где Вы написали надо было крестик поставить и initgraph прописать путь к EGAVGA.BGI.Спасибо.

Добавлено через 28 минут
у меня теперь другая проблема-из-за того,что виндоуз не поддерживает полноэкранный режим IDE TurboC,программа запускается,но графика выбивает работу программы.она просто сворачивается.
не работает графика(не могу подключить)
С этим как быть?
Арсенал
144 / 66 / 6
Регистрация: 30.12.2011
Сообщений: 137
15.01.2012, 22:13     не работает графика(не могу подключить) #6
Полноэкранный режим работы?
Один из вариантов:

Alt+Enter или Ctrl+Enter, точно не вспомню
polindroma
0 / 0 / 0
Регистрация: 06.12.2011
Сообщений: 18
15.01.2012, 22:24  [ТС]     не работает графика(не могу подключить) #7
пишет-система не поддерживает полноэкранный режим
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
15.01.2012, 22:33     не работает графика(не могу подключить) #8
Цитата Сообщение от polindroma Посмотреть сообщение
пишет-система не поддерживает полноэкранный режим
И если запустив DosBox в его окне Альт+Ентер нажать - то же пишет? Тогда, думаю, не судьба...
polindroma
0 / 0 / 0
Регистрация: 06.12.2011
Сообщений: 18
15.01.2012, 22:37  [ТС]     не работает графика(не могу подключить) #9
в DosBox полноэкранный режим работает.Только я никак не могу добраться до среды,чтоб ее запустить.Она создала виртуальный диск z.А система у меня на c:\borlandc\bin.Я никак до нее дойти не могу.На сколько я поняла,mount-создает новый виртуальный диск,а не переходит на диск с.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
15.01.2012, 22:49     не работает графика(не могу подключить) #10
Цитата Сообщение от polindroma Посмотреть сообщение
Я никак до нее дойти не могу.На сколько я поняла,mount-создает новый виртуальный диск,а не переходит на диск с.
Нужно выделить папку на диске, назвав её как-нибудь символично (dosdisk например), в dosbox-овском конфиге (в вниде, на сколько помню, до него через пуск-все_программы-dosbox добраться можно) после [autoexec] в новой строке написать
Код
mount c c:\dosdisk
ну или где Вы там эту папку создали. Туда же в папку dosdisk запихнуть оптом весь Borland TurboC++ 3.1 ну и програмку свою. Дальше - запускаете DosBox, жмёте Alt+Enter, ну и
Код
c:
cd tc\bin
tc.exe
tc - это папка с TurboC. При этом должна бы открыться IDE борландовская, в ней открываете програмку свою, компилируете, запускаете, смотрите, что будет...
polindroma
0 / 0 / 0
Регистрация: 06.12.2011
Сообщений: 18
15.01.2012, 23:01  [ТС]     не работает графика(не могу подключить) #11
dosbox-овский конфиг-как он правильно называется(имя файла)?
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
15.01.2012, 23:12     не работает графика(не могу подключить) #12
Цитата Сообщение от polindroma Посмотреть сообщение
dosbox-овский конфиг-как он правильно называется(имя файла)?
Да прям так dosbox.config и называется. Говорю, Вы посмотрите в Пуск-Все программы-DosBox, там должно быть две запускалки - dosbox и dosbox(no console), readme какой-нибудь и этот самый config, который должен в текстовом редакторе открываться...
polindroma
0 / 0 / 0
Регистрация: 06.12.2011
Сообщений: 18
16.01.2012, 00:02  [ТС]     не работает графика(не могу подключить) #13
когда в среде уже под dosbox-ом компилирует,а при попытке послать файл на исполнение сворачивается даже dosbox.Это я пыталась запустить пример с отрисовкой окружности.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
16.01.2012, 00:53     не работает графика(не могу подключить) #14
polindroma, не знаю, что такое gmode, и почему оно равно тому, чему оно там у Вас равно, но я бы попытки решить проблему с этого начал. А вообще лучше преподу как-нибудь мягко намекнуть, что со времён egavga.bgi уж 20 лет прошло и гораздо конструктивнее было бы OpenGL к примеру изучать, круги и с этой библиотекой рисовать можно...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.01.2012, 00:58     не работает графика(не могу подключить)
Еще ссылки по теме:

C++ Не могу подключить библеотеку
не могу подключить framework google c++ testing в проект C++
Не могу подключить gmp к VS C++

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

Или воспользуйтесь поиском по форуму:
polindroma
0 / 0 / 0
Регистрация: 06.12.2011
Сообщений: 18
16.01.2012, 00:58  [ТС]     не работает графика(не могу подключить) #15
мне бы тоже было легче
Yandex
Объявления
16.01.2012, 00:58     не работает графика(не могу подключить)
Ответ Создать тему
Опции темы

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