Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.92/12: Рейтинг темы: голосов - 12, средняя оценка - 4.92
grey6
0 / 0 / 0
Регистрация: 17.12.2011
Сообщений: 16
1

Код, написанный на Borland C++ не работает в Dev C++

14.01.2013, 18:17. Просмотров 2184. Ответов 16
Метки нет (Все метки)

программа на Си++
пользуюсь DEV-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
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
#include <conio.h>
#include <graphics.h>
#include <process.h>
#include <stdio.h>
#include <dos.h>
#include <stdlib.h>
 
void solar(double k)
{
    setcolor(YELLOW);
    setfillstyle(1,YELLOW);
    fillellipse(90,50,30,30);
    if(k<1) 
    {
        line(130,50, 155,50);
        line(50,50, 25,50);
        line(90,90, 90,115);
        line(120,80, 135,95);
        line(60,20, 45,5);
        line(60,80, 45,95);
        line(120,20, 135,5);
        line(90,10, 90,2);
    }
    else
    {
        line(130,50, 165,50);
        line(50,50, 15,50);
        line(90,90, 90,125);
        line(120,80, 138,98);
        line(60,20, 42,2);
        line(60,80, 42,98);
        line(120,20, 138,2);
        line(90,10, 90,0);
    }
}
 
void nebo()
{
    setcolor(CYAN);
    setfillstyle(1,CYAN);
    bar(0,0,540,250);
}
 
void zemlya()
{
    setcolor(GREEN);
    setfillstyle(1,GREEN);
    bar(0,200,540,250);
    line(250,200, 539,140);
    line(539,140, 539,200);
    line(539,200, 250,200);
    floodfill(500,180,GREEN);
}
 
void flower(int x, int y, double r)
{
    setcolor(BROWN);
    setfillstyle(1,BROWN);
    line(x,y, x,y+20);
    fillellipse(x+5,y+10,5,3);
    fillellipse(x-5,y+12,5,2);
    setcolor(YELLOW);
    setfillstyle(1,YELLOW);
    fillellipse(x,y, r,r);
}
 
void oblako1(int x, int y)
{
    setcolor(WHITE);
    setfillstyle(1,WHITE);
    fillellipse(x,y, 40,25);
    fillellipse(x+30,y+20,30,15);
}
 
void oblako2(int x, int y)
{
    setcolor(WHITE);
    setfillstyle(1,WHITE);
    fillellipse(x,y, 40,25);
    fillellipse(x+20,y-20,30,15);
}
 
void water(int x, int y, int  r)
{
    setcolor(8);
    setfillstyle(1,8);
    fillellipse(x,y, r, r-30);
    setcolor(BLUE);
    setfillstyle(1,BLUE);
    fillellipse(x,y, r-2, r-32);
}
 
 
void zmeya(int x,int y)
{
    setcolor(8);
    setfillstyle(1,8);
    bar(x,y, x+60,y-10);
}
 
int main()
{
    char ch;
    printf("\n ‚ўҐ¤ЁвҐ бЄ®а®бвм §¬Ґ©ЄЁ(1/2)\n>");
    ch = getch();
    if(ch==49)  ch = 3;
    else        ch = 6;
    double x, y, i, j, k, h;
 
    int gdriver = VGA, gmode = VGAMED, errorcode;
    initgraph(&gdriver, &gmode, "C:\Borland\BORLANDC\BGI" );
 
    errorcode = graphresult();
    if (errorcode != grOk)
    {
        printf("Graphics error: %s\n", grapherrormsg(errorcode));
        printf("Press any key to halt:");
        getch();
        exit(1);
    }
 
    x = 5;
    y = 203;    //начальные координаты змейки
 
    setviewport(50, 50, getmaxx()-50, getmaxy()-50, 1);
 
    i=0;
    j=0;
    k=0;
 
    while(!kbhit()) // пока не нажата кнопка любая
    {
        if(i == 1)  i=0;    //смена активной страницы
        else        i=1;
        setactivepage(i);
        clearviewport();
        nebo();
        zemlya();
        solar(k);
        if(k<=1)
             k = k + 0.3;
        else k = 0;
 
        oblako1(100+j,50);oblako2(250+j+0.5,60);
        oblako2(10+j+0.7,30) ;oblako1(380+j+0.3,30);
        oblako1(520+j+0.2,20);
 
        j = j+0.5;
 
        if(x<190)
        {   zmeya(x,y);
            x += ch;
 
            goto f1;
        }
 
        if(x>=190 && x<250) //змейка рисуется на прямой
        {
            //x = 250;
 
            setcolor(8);
            setfillstyle(1,8);
 
            line(x,y, x+59,y-3);
            line(x+59,y-3, x+59,y-3-10);
            line(x+59,y-3-10, x,y-10);
            line(x,y-10, x,y);
            floodfill(x+30,y-5,8);
            //if(x>)
 
            x += ch-1;
            y -= 0.08;
 
            goto f1;
            //delay(1500);
        }
 
        if(x>=250 && x<539) //змейка рисуется на подъеме
        {
            setcolor(8);
            setfillstyle(1,8);
 
            line(x,y, x+59,y-12);
            line(x+59,y-12, x+59,y-12-10);
            line(x+59,y-12-10, x,y-10);
            line(x,y-10, x,y);
            floodfill(x+5,y-5,8);
 
            x += 1;
            y -= 0.2;
        }
if(x>439)goto exit;        //останавливаем змейку
 
f1:     flower( 40,205,5+h);flower(100,215,5+h);
        flower( 80,205,5+h);flower( 80,230,5+h);
        flower(450,230,5+h);flower(500,220,5+h);
        flower(300,180,5+h);flower(260,175,5+h);
        flower(350,190,5+h);
        if(h<1)
             h = h + 0.3;
        else h = 0;
 
        water(420,195,50);
        
        setvisualpage(i);
    }
exit:
getch();
    closegraph();
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.01.2013, 18:17
Ответы с готовыми решениями:

Код написан в Dev C. Не работает в Visual. Как нужно переделать код?
Здравствуйте. Столкнулась с такой проблемой: код был написан в Dev C, но в...

Код для консоли, написанный в RAD XE7, не работает на VS2013
Программа создает односвязный список структур. Данные в структуру считываются...

Почему код, написанный на С++, в разы быстрее работает с большим объемом памяти, чем с маленьким?
Привет! Понадобилось мне сравнить скорость работы идентичных алгоритмов на...

Код работает в Dev-C++, а надо в Visual Studio
Код:#include &lt;stdio.h&gt; #include &lt;string&gt; #include &lt;iostream&gt; #include...

Есть файл написанный в borland 3.1. Мне его нужно открыть и откомпилировать.
Есть файл написанный в borland 3.1. Мне его нужно открыть и откомпилировать....

16
nexen
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
14.01.2013, 18:27 2
Так это ж устаревшие функции.. Используйте WinAPI, если на C++..
p.s Теги оформления смените. Да и программка не до конца

Добавлено через 6 минут
Упустил то, что код для dev-cpp.. Тогда не знаю. Может у вас там и правда используются такие функции для рисования..
0
grey6
0 / 0 / 0
Регистрация: 17.12.2011
Сообщений: 16
14.01.2013, 18:48  [ТС] 3
Дело в том что программа написана на Borlande и работала
а теперь не могу открыть ее в Dev-Cpp
не могу найти проблему

Добавлено через 18 минут
выдает ошибки

Кликните здесь для просмотра всего текста

Код
C:\Users\сергей\Downloads\5 (1).cpp: In function `void flower(int, int, double)':
C:\Users\сергей\Downloads\5 (1).cpp:64: warning: passing `double' for converting 3 of `void fillellipse(int, int, int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:64: warning: passing `double' for converting 4 of `void fillellipse(int, int, int, int)'

C:\Users\сергей\Downloads\5 (1).cpp:111:30: warning: unknown escape sequence '\B'
C:\Users\сергей\Downloads\5 (1).cpp:111:30: warning: unknown escape sequence '\B'
C:\Users\сергей\Downloads\5 (1).cpp:111:30: warning: unknown escape sequence '\B'
C:\Users\сергей\Downloads\5 (1).cpp: In function `int main()':
C:\Users\сергей\Downloads\5 (1).cpp:135: warning: passing `double' for converting 1 of `void setactivepage(int)'

C:\Users\сергей\Downloads\5 (1).cpp:144: warning: passing `double' for converting 1 of `void oblako1(int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:144: warning: passing `double' for converting 1 of `void oblako2(int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:145: warning: passing `double' for converting 1 of `void oblako2(int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:145: warning: passing `double' for converting 1 of `void oblako1(int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:146: warning: passing `double' for converting 1 of `void oblako1(int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:151: warning: passing `double' for converting 1 of `void zmeya(int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:151: warning: passing `double' for converting 2 of `void zmeya(int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:164: warning: passing `double' for converting 1 of `void line(int, int, int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:164: warning: passing `double' for converting 2 of `void line(int, int, int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:164: warning: passing `double' for converting 3 of `void line(int, int, int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:164: warning: passing `double' for converting 4 of `void line(int, int, int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:165: warning: passing `double' for converting 1 of `void line(int, int, int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:165: warning: passing `double' for converting 2 of `void line(int, int, int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:165: warning: passing `double' for converting 3 of `void line(int, int, int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:165: warning: passing `double' for converting 4 of `void line(int, int, int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:166: warning: passing `double' for converting 1 of `void line(int, int, int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:166: warning: passing `double' for converting 2 of `void line(int, int, int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:166: warning: passing `double' for converting 3 of `void line(int, int, int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:166: warning: passing `double' for converting 4 of `void line(int, int, int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:167: warning: passing `double' for converting 1 of `void line(int, int, int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:167: warning: passing `double' for converting 2 of `void line(int, int, int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:167: warning: passing `double' for converting 3 of `void line(int, int, int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:167: warning: passing `double' for converting 4 of `void line(int, int, int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:168: warning: passing `double' for converting 1 of `void floodfill(int, int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:168: warning: passing `double' for converting 2 of `void floodfill(int, int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:183: warning: passing `double' for converting 1 of `void line(int, int, int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:183: warning: passing `double' for converting 2 of `void line(int, int, int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:183: warning: passing `double' for converting 3 of `void line(int, int, int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:183: warning: passing `double' for converting 4 of `void line(int, int, int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:184: warning: passing `double' for converting 1 of `void line(int, int, int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:184: warning: passing `double' for converting 2 of `void line(int, int, int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:184: warning: passing `double' for converting 3 of `void line(int, int, int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:184: warning: passing `double' for converting 4 of `void line(int, int, int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:185: warning: passing `double' for converting 1 of `void line(int, int, int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:185: warning: passing `double' for converting 2 of `void line(int, int, int, int)'

C:\Users\сергей\Downloads\5 (1).cpp:185: warning: passing `double' for converting 3 of `void line(int, int, int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:185: warning: passing `double' for converting 4 of `void line(int, int, int, int)'

C:\Users\сергей\Downloads\5 (1).cpp:186: warning: passing `double' for converting 1 of `void line(int, int, int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:186: warning: passing `double' for converting 2 of `void line(int, int, int, int)'

C:\Users\сергей\Downloads\5 (1).cpp:186: warning: passing `double' for converting 3 of `void line(int, int, int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:186: warning: passing `double' for converting 4 of `void line(int, int, int, int)'

C:\Users\сергей\Downloads\5 (1).cpp:187: warning: passing `double' for converting 1 of `void floodfill(int, int, int)'
C:\Users\сергей\Downloads\5 (1).cpp:187: warning: passing `double' for converting 2 of `void floodfill(int, int, int)'

C:\Users\сергей\Downloads\5 (1).cpp:205: warning: passing `double' for converting 1 of `void setvisualpage(int)'
0
nexen
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
14.01.2013, 19:00 4
Ну это не ошибки, а предупреждения. Хотя их, насколько я могу судить, можно игнорировать.
0
grey6
0 / 0 / 0
Регистрация: 17.12.2011
Сообщений: 16
14.01.2013, 19:18  [ТС] 5
игнорировать то можно
вот только прога не компилится
0
BumerangSP
4287 / 1409 / 463
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
14.01.2013, 19:26 6
Я б сказал, что она не компилируется только потому, что там используется библиотека graphics. Такая есть в borland c++ 3.1 (или что-то вроде). Там довольно старый компилятор. C/C++ вообще как бы не предназначались для рисования в консоли.
0
grey6
0 / 0 / 0
Регистрация: 17.12.2011
Сообщений: 16
14.01.2013, 19:36  [ТС] 7
да я понимаю но по лабораторной я должен написать именно на С++
0
coloc
погромист
412 / 248 / 30
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
14.01.2013, 20:46 8
Вот, эмулятор BGI графики под винду MinGW + Graphics.h It's work)
1
grey6
0 / 0 / 0
Регистрация: 17.12.2011
Сообщений: 16
14.01.2013, 21:35  [ТС] 9
пробовал не помогло
0
Croessmah
++Ͻ
14740 / 8422 / 1597
Регистрация: 27.09.2012
Сообщений: 20,714
Записей в блоге: 2
Завершенные тесты: 1
14.01.2013, 21:38 10
Цитата Сообщение от grey6 Посмотреть сообщение
я должен написать именно на С++
тогда зачем Си'шные хедеры и функции?

Цитата Сообщение от grey6 Посмотреть сообщение
пробовал не помогло
делайте на API и всё!
0
grey6
0 / 0 / 0
Регистрация: 17.12.2011
Сообщений: 16
14.01.2013, 22:16  [ТС] 11
вопрос могу ли я исправить эту программу что бы она заработала?

Добавлено через 1 минуту
можно ли исправить эту программу что бы она заработала и как это сделать
0
coloc
погромист
412 / 248 / 30
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
14.01.2013, 22:52 12
Все нормально компилируется, у меня тоже DevC++, просто сделайте операции приведения типов. (функции graphic.h принимают значение int а не double)
0
grey6
0 / 0 / 0
Регистрация: 17.12.2011
Сообщений: 16
14.01.2013, 23:43  [ТС] 13
простите но я не понимаю можно как для тупых объяснить

Добавлено через 1 минуту
везде double поменять на int?
0
coloc
погромист
412 / 248 / 30
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
14.01.2013, 23:45 14
можно просто поменять а можно например
C++
1
fillellipse((int)x,(int)y, (int)r,(int)r); //аргументы функции fillellipse int
0
grey6
0 / 0 / 0
Регистрация: 17.12.2011
Сообщений: 16
14.01.2013, 23:54  [ТС] 15
я так тоже делал и у меня не компилиться
0
НиколайСД
1 / 1 / 2
Регистрация: 12.01.2013
Сообщений: 39
15.01.2013, 00:24 16
1.Не понимаю почему вам лабы надо выполнить в Dev C++. Ведь Borland C++ это тоже будет язык С++ просто разная среда разработки
2.Как я знаю вроде))) программный код немного меняется в зависимости от того в какой среде программировать
0
Avazart
Эксперт С++
7735 / 5645 / 550
Регистрация: 10.12.2010
Сообщений: 25,489
Записей в блоге: 17
15.01.2013, 00:28 17
Все проблемы от graphics.h ...
( она то и на современном Builder тоже не пойдет )

Добавлено через 1 минуту
Цитата Сообщение от НиколайСД Посмотреть сообщение
2.Как я знаю вроде))) программный код меняется в зависимости от того в какой среде программировать
Теоретически нет, т.е. можно использовать переносимые конструкции... но это теоретически...
1
15.01.2013, 00:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.01.2013, 00:28

Где можно найти описание всех стандартных функций доступных в Dev C++ или Borland 6
всех с праздником,по чуть чуть изучаю с++ возник вопрос где можно найти...

Хорошо написанный код
Очень хочется почитать хорошо написанный, структурированный и читабельный код,...

Использовать код, написанный на С++ (DLL) в C#
Требуется написать dll некоторых алгоритмов. Я хочу написать их на С++ с...


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

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

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