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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.94
grey6
0 / 0 / 0
Регистрация: 17.12.2011
Сообщений: 16
14.01.2013, 18:17     Код, написанный на Borland C++ не работает в Dev C++ #1
программа на Си++
пользуюсь 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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
14.01.2013, 18:27     Код, написанный на Borland C++ не работает в Dev C++ #2
Так это ж устаревшие функции.. Используйте WinAPI, если на C++..
p.s Теги оформления смените. Да и программка не до конца

Добавлено через 6 минут
Упустил то, что код для dev-cpp.. Тогда не знаю. Может у вас там и правда используются такие функции для рисования..
grey6
0 / 0 / 0
Регистрация: 17.12.2011
Сообщений: 16
14.01.2013, 18:48  [ТС]     Код, написанный на Borland C++ не работает в Dev C++ #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)'
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
14.01.2013, 19:00     Код, написанный на Borland C++ не работает в Dev C++ #4
Ну это не ошибки, а предупреждения. Хотя их, насколько я могу судить, можно игнорировать.
grey6
0 / 0 / 0
Регистрация: 17.12.2011
Сообщений: 16
14.01.2013, 19:18  [ТС]     Код, написанный на Borland C++ не работает в Dev C++ #5
игнорировать то можно
вот только прога не компилится
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
14.01.2013, 19:26     Код, написанный на Borland C++ не работает в Dev C++ #6
Я б сказал, что она не компилируется только потому, что там используется библиотека graphics. Такая есть в borland c++ 3.1 (или что-то вроде). Там довольно старый компилятор. C/C++ вообще как бы не предназначались для рисования в консоли.
grey6
0 / 0 / 0
Регистрация: 17.12.2011
Сообщений: 16
14.01.2013, 19:36  [ТС]     Код, написанный на Borland C++ не работает в Dev C++ #7
да я понимаю но по лабораторной я должен написать именно на С++
coloc
погромист
 Аватар для coloc
409 / 245 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
14.01.2013, 20:46     Код, написанный на Borland C++ не работает в Dev C++ #8
Вот, эмулятор BGI графики под винду MinGW + Graphics.h It's work)
grey6
0 / 0 / 0
Регистрация: 17.12.2011
Сообщений: 16
14.01.2013, 21:35  [ТС]     Код, написанный на Borland C++ не работает в Dev C++ #9
пробовал не помогло
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11844 / 6823 / 771
Регистрация: 27.09.2012
Сообщений: 16,915
Записей в блоге: 2
Завершенные тесты: 1
14.01.2013, 21:38     Код, написанный на Borland C++ не работает в Dev C++ #10
Цитата Сообщение от grey6 Посмотреть сообщение
я должен написать именно на С++
тогда зачем Си'шные хедеры и функции?

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

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

Добавлено через 1 минуту
везде double поменять на int?
coloc
погромист
 Аватар для coloc
409 / 245 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
14.01.2013, 23:45     Код, написанный на Borland C++ не работает в Dev C++ #14
можно просто поменять а можно например
C++
1
fillellipse((int)x,(int)y, (int)r,(int)r); //аргументы функции fillellipse int
grey6
0 / 0 / 0
Регистрация: 17.12.2011
Сообщений: 16
14.01.2013, 23:54  [ТС]     Код, написанный на Borland C++ не работает в Dev C++ #15
я так тоже делал и у меня не компилиться
НиколайСД
1 / 1 / 1
Регистрация: 12.01.2013
Сообщений: 39
15.01.2013, 00:24     Код, написанный на Borland C++ не работает в Dev C++ #16
1.Не понимаю почему вам лабы надо выполнить в Dev C++. Ведь Borland C++ это тоже будет язык С++ просто разная среда разработки
2.Как я знаю вроде))) программный код немного меняется в зависимости от того в какой среде программировать
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.01.2013, 00:28     Код, написанный на Borland C++ не работает в Dev C++
Еще ссылки по теме:

Откомментировать код, написанный поляком-программистом C++
Код для консоли, написанный в RAD XE7, не работает на VS2013 C++
Код Хэмминга (Dev C++) C++

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

Или воспользуйтесь поиском по форуму:
Avazart
 Аватар для Avazart
6904 / 5144 / 253
Регистрация: 10.12.2010
Сообщений: 22,626
Записей в блоге: 17
15.01.2013, 00:28     Код, написанный на Borland C++ не работает в Dev C++ #17
Все проблемы от graphics.h ...
( она то и на современном Builder тоже не пойдет )

Добавлено через 1 минуту
Цитата Сообщение от НиколайСД Посмотреть сообщение
2.Как я знаю вроде))) программный код меняется в зависимости от того в какой среде программировать
Теоретически нет, т.е. можно использовать переносимые конструкции... но это теоретически...
Yandex
Объявления
15.01.2013, 00:28     Код, написанный на Borland C++ не работает в Dev C++
Ответ Создать тему
Опции темы

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