1915 / 1065 / 384
Регистрация: 06.12.2008
Сообщений: 2,802
1

Графика в С++

09.03.2009, 13:27. Показов 9304. Ответов 18
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Парни такая проблема, при работе с графикой выдает такую ошибку!!Просто отправляю на компиляцию стоит черный экран потом выкидует в винду и показывает это окно, а потом полностью выкидует с BC!!
Миниатюры
Графика в С++  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.03.2009, 13:27
Ответы с готовыми решениями:

Рисование графика: обработка новых входящих данных и движение графика на форме
Подскажите каким способом можно вывести график частью главного окна программы, при чем график...

Chart - диаграмма: изменить точность делений графика, установить центр графика в (0,0)
Создал диаграмму (все прекрасно считается точки расставляются), но есть проблемыЖ 1. В случае...

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

Совмещение поточечного графика и графика построенного функцией на отрезке
Есть некий массив array1 = {...} и func = y /. NDslove По отдельности строю так: Plot и...

18
Любитель давать советы
342 / 135 / 14
Регистрация: 12.01.2009
Сообщений: 511
09.03.2009, 13:58 2
Вы как компилятор запускаете, ярлычком? Попробуйте у этого ярлыка настройки совместимости поменять, особенно в области графики
0
1915 / 1065 / 384
Регистрация: 06.12.2008
Сообщений: 2,802
09.03.2009, 15:06  [ТС] 3
а можно поконкретнее, что именно поменять!
0
1915 / 1065 / 384
Регистрация: 06.12.2008
Сообщений: 2,802
09.03.2009, 16:18  [ТС] 4
вот запустил ВС с командной строки вроде не выкидует, а пишет такое(миниатюра)
Это вроде бы драйвер нужен egavga.bgi но я его поместил в директорию!Кто-нибудь может помочь?

А собственно вот код программы которая не запускается!
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
#include <stdio.h>
#include <graphics.h>
#include <conio.h>
#include <alloc.h>
#include <stdlib.h>
#include <dos.h>
main()
     {
     int Gd=DETECT, Gm, ErrC;
     int mx, my;
     int color_t, color_bk;
     int vy;
     initgraph(&Gd, &Gm, "");
     mx=getmaxx();
     my=getmaxy();
 
     color_t=DARKGRAY;
     setcolor(color_t);
     setfillstyle(SOLID_FILL, color_t);
     bar(0, 0, mx, my);
     int cx=mx/2, cy=my/2;
     int hy=25, ns=1;         // # line
     color_t=RED;
     setcolor(color_t);
     char *t[]=
            {"MOH Ukraine",
             "Donetsk National Technical University",
             "Department PMI",
             "PROJECT KURS",
             "\'OOP\' theme \'Markets\'",
             "Created:",
             "Directed:",
             "st.gr.PS-08",
             "ass.dep.PMI",
             "Krutikov S.",
             "Petrenko I.",
             "Donetsk - 2009"
             };
     setfillstyle(SOLID_FILL, color_t);
     settextjustify(CENTER_TEXT, TOP_TEXT);
     settextstyle(DEFAULT_FONT, HORIZ_DIR, 1);
 
     int i;
     for(i=0;i<3;i++)
        outtextxy(cx, hy*(ns++), t[i]);
     vy=hy*ns;
     ns+=5;
     settextstyle(DEFAULT_FONT, HORIZ_DIR, 2);
     for(i=3;i<5;i++)
        outtextxy(cx, hy*(ns++), t[i]);
     ns+=2;
     for(i=5;i<11;i+=2)
     {
         settextstyle(DEFAULT_FONT, HORIZ_DIR, 1);
         settextjustify(LEFT_TEXT, TOP_TEXT);
         outtextxy(hy, hy*ns, t[i]);
         settextjustify(RIGHT_TEXT, TOP_TEXT);
         outtextxy(my, hy*(ns++), t[i+1]);
     }
 
     ns+=2;
     settextjustify(CENTER_TEXT, TOP_TEXT);
     outtextxy(cx, hy*(ns++), t[11]);
     getch();
 
     // images
     int color_l;
     int wm=mx/5, hm=my/8;
     int vx=mx/16;
     // METRO
     color_l=BLUE;
     setcolor(color_l);
     setfillstyle(SOLID_FILL, color_l);
     bar(vx, vy, vx+wm, vy+hm);
     int hyM=hm/3, cxM=vx+wm/2;
     color_l=YELLOW;
     setcolor(color_l);
     setlinestyle(SOLID_LINE, 0, color_l);
     int y1M=vy+hyM;
     line(vx, y1M, vx+wm, y1M);
     int hxM=wm/3, x1M=vx+hxM, y2M=vy+hm;
     line(x1M, y1M, x1M, y2M);
     int x2M=x1M+hxM;
     line(x2M, y1M, x2M, y2M);
 
     setfillstyle(SOLID_FILL, color_l);
     settextjustify(RIGHT_TEXT, BOTTOM_TEXT);
     settextstyle(DEFAULT_FONT, HORIZ_DIR, 1);
     outtextxy(x2M+hxM, y1M, "METRO");
 
// AMSTOR
     int vxA=mx-vx-wm;
     color_l=YELLOW;
     setcolor(color_l);
     setfillstyle(SOLID_FILL, color_l);
     bar(vxA, vy, vxA+wm, vy+hm);
 
     int hyA=hm/3, cxA=vxA+wm/2;
     color_l=WHITE;
     setcolor(color_l);
     setlinestyle(SOLID_LINE, 0, color_l);
     int y1A=vy+hyA;
     line(vxA, y1A, vxA+wm, y1A);
     int hxA=wm/3, x1A=vxA+hxA, y2A=vy+hm;
     line(x1A, y1A, x1A, y2A);
     int x2A=x1A+hxA;
     line(x2A, y1A, x2A, y2A);
 
     color_l=RED;
     setcolor(color_l);
     setfillstyle(SOLID_FILL, color_l);
     settextjustify(LEFT_TEXT, BOTTOM_TEXT);
     settextstyle(DEFAULT_FONT, HORIZ_DIR, 1);
     outtextxy(x1A-hxA+20, y1A, "A M C T O P");
 
// autoban
     color_l=BROWN;
     setcolor(color_l);
     setlinestyle(SOLID_LINE, 0, color_l);
     line(x1M+2*hxM+2, y2M, x1A-hxA-2, y2A);
 
// auto:
// kuzov
     color_l=BLUE;
     setcolor(color_l);
     setlinestyle(SOLID_LINE, 0, color_l);
     int rx=30, pxk=x1A-hxA-rx, wk=45, lxk=pxk-wk;
     int d=10, nyk=y2M-d-2, hk=20, vyk=nyk-hk;
     setfillstyle(SOLID_FILL, color_l);
     bar(pxk, vyk, lxk, nyk);
// kabina
     int wKab=10, hKab=10, lxKab=lxk-wKab, vyKab=nyk-hKab;
     bar(lxKab, vyKab, lxk, nyk);
     color_l=BLACK;
     setcolor(color_l);
     setlinestyle(SOLID_LINE, 0, color_l);
     line(lxk-1, vyKab, lxk-1, nyk);
// caption
     color_l=WHITE;
     setcolor(color_l);
     setfillstyle(SOLID_FILL, color_l);
     settextjustify(RIGHT_TEXT, BOTTOM_TEXT);
     settextstyle(DEFAULT_FONT, HORIZ_DIR, 1);
     outtextxy(pxk, nyk-5, "KONTI");
// kolesa:
// external
     color_l=BLACK;
     setcolor(color_l);
     setlinestyle(SOLID_LINE, 0, color_l);
     int hxCol=10, cxCol=lxk+hxCol-wKab, cyCol=nyk+d/2, cxCol2=pxk-hxCol;
     setfillstyle(SOLID_FILL, color_l);
     circle(cxCol, cyCol, d/2);
     floodfill(cxCol, cyCol, color_l);
     circle(cxCol2, cyCol, d/2);
     floodfill(cxCol2, cyCol, color_l);
// internal
     color_l=LIGHTGRAY;
     setcolor(color_l);
     setlinestyle(SOLID_LINE, 0, color_l);
     setfillstyle(SOLID_FILL, color_l);
     circle(cxCol, cyCol, d/4);
     floodfill(cxCol, cyCol, color_l);
     circle(cxCol2, cyCol, d/4);
     floodfill(cxCol2, cyCol, color_l);
     getch();
// animation
     void *image;
     int size;
     int lx=lxKab-1, ly=vyk-1, px=pxk+1, py=y2A;
     size=imagesize(px, py, lx, ly);
     image=malloc(size);
     getimage(lx, ly, px+3, py, image);
     int ix;
     for(ix=lx; ix>vx+wm+10; ix--)
        { putimage(ix, ly, image, COPY_PUT);
            delay(30);
        }
 
     getch();
 return 0;
     }
Миниатюры
Графика в С++  
0
1856 / 713 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
09.03.2009, 17:18 5
Попробуй в initgraph(&Gd, &Gm, ""); указать папку, где лежит твои BGI initgraph(&Gd, &Gm, "C:\\BC31\\BGI\\");
Может поможет.
0
1915 / 1065 / 384
Регистрация: 06.12.2008
Сообщений: 2,802
09.03.2009, 17:31  [ТС] 6
Цитата Сообщение от Otaka Посмотреть сообщение
BGI initgraph(&Gd, &Gm, "C:\\BC31\\BGI\\");
нет, теперь выкинуло как в первом посте!
0
1856 / 713 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
09.03.2009, 17:42 7
Не знаю, я проверил у себя, все работает:

C++
1
2
int gdriver=VGA,gmode=VGAMED,err;
initgraph(&gdriver,&gmode,"C:\\TC\\BGI\\");
Вот тока еще Turbo C++ попросил, чтобы я поставил галочку на Options->Linker->Library->(Какой-то там Graphics). И все запустилось
0
Любитель давать советы
342 / 135 / 14
Регистрация: 12.01.2009
Сообщений: 511
09.03.2009, 20:43 8
Цитата Сообщение от Snoopy Посмотреть сообщение
а можно поконкретнее, что именно поменять!
По ярлычку правой кнопкой мыши -> пункт меню "Свойства" -> вкладка "Совместимость".
Там поиграться галочками, относящимися к отображению, скорее всего этими:
- 256 цветов
- разрешение экрана 640 х 480
0
1915 / 1065 / 384
Регистрация: 06.12.2008
Сообщений: 2,802
10.03.2009, 20:58  [ТС] 9
Цитата Сообщение от Alexiski Посмотреть сообщение
меню "Свойства" -> вкладка "Совместимость".
нет, проблема осталась!

Добавлено через 23 часа 49 минут 11 секунд
Какие еще есть предложения?
0
Эксперт С++
2255 / 770 / 25
Регистрация: 27.05.2008
Сообщений: 1,496
10.03.2009, 23:40 10
Snoopy, ты пробовал предложение Otaka не меняя пути?тогда ничего удивительного...
0
1915 / 1065 / 384
Регистрация: 06.12.2008
Сообщений: 2,802
10.03.2009, 23:56  [ТС] 11
Цитата Сообщение от XuTPbIu_MuHTAu Посмотреть сообщение
Snoopy, ты пробовал предложение Otaka не меняя пути?тогда ничего удивительного...
ну конечно я поменял путь к своей папке где лежит драйвер, все равно не работает!!!
0
Эксперт С++
2255 / 770 / 25
Регистрация: 27.05.2008
Сообщений: 1,496
10.03.2009, 23:58 12
покажи эту строчку.
0
1915 / 1065 / 384
Регистрация: 06.12.2008
Сообщений: 2,802
11.03.2009, 00:02  [ТС] 13
C++
1
initgraph(&Gd, &Gm,"D:\\BC3\\BIN\\EGAVGA.BGI" )
0
Эксперт С++
2255 / 770 / 25
Регистрация: 27.05.2008
Сообщений: 1,496
11.03.2009, 00:06 14
"D:\\BC3\\BIN\\"

Добавлено через 35 секунд
И это,кстати,странно,поскольку я все эти BGI обычно лежали в одной папочке BGI, вот к ней путь и укажи.Без отдельного файла.
0
1915 / 1065 / 384
Регистрация: 06.12.2008
Сообщений: 2,802
11.03.2009, 00:12  [ТС] 15
все равно таже ошибка!!
0
Эксперт С++
2255 / 770 / 25
Регистрация: 27.05.2008
Сообщений: 1,496
11.03.2009, 00:18 16
так,зайди уже в хелп борланда и посмотри,какой там нужен путь. Или используй GDI,WinAPI и все такое прочее,BGI эти уже давным давно не актуальны,а код не просто не поучителен - скорее пример,как делать не надо. Ниодной функции на две сотни строк- это преступление.
0
Любитель давать советы
342 / 135 / 14
Регистрация: 12.01.2009
Сообщений: 511
11.03.2009, 01:01 17
XuTPbIu_MuHTAu,
тут, похоже, дело не в путях. Когда драйвер не находится, Борланд у него об этом так и пишет, нормальной текстовой строкой, он приводил экран. А вот вылеты начинаются, когда драйвер таки инициализируется..

Snoopy,
А если попробовать предварительно перевести окно в полноэкранный режим кнопочками Ctrl-Enter?

На всякий случай посмотрите, нет ли какого мусора в файлах config.nt и autoexec.nt
0
Эксперт С++
2255 / 770 / 25
Регистрация: 27.05.2008
Сообщений: 1,496
11.03.2009, 01:06 18
Цитата Сообщение от Alexiski Посмотреть сообщение
XuTPbIu_MuHTAu,
тут, похоже, дело не в путях. Когда драйвер не находится, Борланд у него об этом так и пишет, нормальной текстовой строкой, он приводил экран. А вот вылеты начинаются, когда драйвер таки инициализируется..
Хм,согласен.Перечитал тему сверху вниз. Тогда моя рекомендация - пошаговая отладка.Выделить строку,где вылетает и работать с ней.
0
artifex
20.07.2010, 20:02 19
Попробуй запустить компилятор, через DosBox!
у меня по крайней мере фурычит,там графика!
20.07.2010, 20:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.07.2010, 20:02
Помогаю со студенческими работами здесь

Построение графика производной для каждого графика из 3 режимов
Дорогие друзья, прошу помочь доделать три программы. В каждой программе выводится по одному графику...

Шкала графика Chart Control - Сделать так, чтобы значения графика были с 2 знаками после запятой
Здравствуйте! У меня такая проблема: В базе данных есть числовые данные, на основе которых...

Графика: построить 2 графика в одной координатной плоскости
Нужно построить 2 графика в одной координатной плоскости, но для начала нужно протабулировать...

Написать программу построения графика функции.(Графика)
Написать программу построения графика функции y= x2 +2x-cos x на отрезке . Помогите...


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

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

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