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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
TrueTuy
0 / 0 / 0
Регистрация: 31.05.2011
Сообщений: 5
#1

Expression Syntax Error на Turbo C 3.0 - C++

31.05.2011, 02:59. Просмотров 1414. Ответов 9
Метки нет (Все метки)

Доброго времени суток, форумчане!
Пишу только потому, что уже 3 часа ломаю голову над этой ошибкой. Спросил всех одногрупников, никто ничего дельного не подсказал. Соседям по комнате уже надоело слушать мои трёхэтажноматовые восклицания в адрес всех, хоть как-то имеющих отношение к Си, людей, предметов, программ и т.п.
К сути, мне нужно сделать лаб.работу на TC компиль у нас в универе стоит TurboC 3.0, на нём препод меня и проверит, поэтому делаю на этом динозавре.
Задача: начертить фрактал Кривая Дракона.
Нашёл старый исходник 1999 года и добиваюсь что бы он заработал. Потом необходимые изменения внесу сам.
К коду:
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
#include<graphics.h>
#include <conio.h>
#include<dos.h>
#define len 20
#define PATH "C:\TC\BGI\"
int a;
int d=1,r,n=418,i,angle=270,old_angle=270;
 
 
 
int K(int i)
  {if (i % 2 == 1) return i % 4; else return K(i/2);}
 
 
void Step(int angle, int *old_angle)
  {
  switch (angle)
   {case 0:
      if (*old_angle==90) linerel(-a,-a); else linerel(a,-a);
      linerel(0,-(len-2*a)); break;
    case 180:
      if (*old_angle==90) linerel(-a,a); else linerel(a,a);
      linerel(0,(len-2*a)); break;
    case 90:
      if (*old_angle==0) linerel(-a,-a); else linerel(-a,a);
      linerel(-(len-2*a),0); break;
    case 270:
      if (*old_angle==0) linerel(a,-a); else linerel(a,a);
      linerel(len-2*a,0); break;
    }
 
*old_angle=angle;
 
}
 
void main()
  {
 
   a=len/5;
   initgraph(&d,&r,PATH);  //Expression Syntax Error
   moveto(190+a, 276);
   linerel(len-a,0);
   for (i=1; i<n; i++)
    {angle=(angle+K(i)*90) % 360;
     delay(2000);
     Step(angle, &old_angle);
    }
getch();
}
Несмотря на то что ругается на синтаксис, в моей методичке INITGRAPH() именно так и расписана.

Надеюсь, что поможете, потому что перепробовал всё что в голову пришло. Проверил на нескольких компах, но результат тот же...

П.С.: Заранее благодарю всех кто хоть как-то сможет мне помочь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2011, 02:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Expression Syntax Error на Turbo C 3.0 (C++):

Expression syntax error - C++
Возникает ошибка: class goods{ char gtype; //item name char brand; //item producer int price; ...

Подпрограммы (Error...: Expression syntax) - C++
#include&lt;stdio.h&gt; #include&lt;conio.h&gt; #include&lt;alloc.h&gt; void Outmatr(float **A,int n); void proizv(float **A, float **B, int n, float...

Ошибки Expression syntax - C++
#include &lt;stdio.h&gt; main(){ int i,j,k,z;int B; static char s=&quot;Mama&quot;; char c; for (z=0;(c=s)!='\0';z++) switch(c) { ...

Expression syntax in function bh() - C++
x=(d++ y+ + -2*c+777)/ 7; ошибку выдает после квадратных скобками ; подскажите что делать ?

Ошибка Expression syntax - C++
Вот уже как месяц учу с++ в универе и тут столкнулся с ошибкой. Expression syntax пример, который я писал находится в прикрепленной...

Ошибка в тестовом примере: "Error 1 error C2143: syntax error : missing ';' before 'if'" - C++
#include&lt;iostream&gt; using namespace std; int main(){ int x, a = 0, b = 10; (cin &gt;&gt; x).get(); while (x){ int c = x % 10; ...

9
Me11eR
10 / 10 / 0
Регистрация: 08.07.2009
Сообщений: 34
31.05.2011, 03:30 #2






C++
1
2
3
4
5
int gd=DETECT, gm;
initgraph(&gd, &gm, "c:\\tc3\\bgi " );  
// рисуем
closegraph(); 
//закрывать НУЖНО
Попробую таким методом, в принципе разницы нет, но раз на раз не приходится. Проверь лежит ли нужный драйвер в нужной папке, хотя без него компилит должен.
1
TrueTuy
0 / 0 / 0
Регистрация: 31.05.2011
Сообщений: 5
31.05.2011, 04:20  [ТС] #3
Про CLOSEGRAPH() я забыл только в этом варианте, одычно было закрыто. К тому же, на сколько я помню, если графический режим идёт последним по ходу исполнения, то закрывать его не объязательно. Но это только смутное воспоминание.
Если адрес вписать в сам INITGRAPH(), а не по макросу передовать, таким образом
C++
1
 initgraph(&d,&r,"C:\\TC\\BGI\");
то выпадает ошибка: "Unterminated string of character constant" и в следующей строке (41) "Function call missing )" . Причём C:\\TC\\BGI\ или C:\TC\BGI\ не важно. Но с этим я тоже не знаю что делать(
Без последнего слеша выпадает целых 4 ошибки Undefined symbol, на initgraph(), moveto(), linerel() и closegraph() из чего следует, что без последнего слеша путь до BGI TC не находит.
Спасибо, но пока не помогло(
0
Me11eR
10 / 10 / 0
Регистрация: 08.07.2009
Сообщений: 34
31.05.2011, 04:40 #4
интересно.

Не по теме:

ушелставить турбоси3

1
TrueTuy
0 / 0 / 0
Регистрация: 31.05.2011
Сообщений: 5
31.05.2011, 04:54  [ТС] #5
На самом деле меня больше всего интересует результат работы, в отчёте по лабораторной должен быть хотябы один скрин, чтобы (даже если прога так и не сподобится заработать) навешать лапшы преподу, якобы это у него с компилятором не всё в порядке. Тем более, что методичку писал он сам, а по ней всё правильно.
Суровая реальность... Не стоит верить книгам, в них всё врут=)

Добавлено через 4 минуты

Не по теме:

Нет, вру. Больше всего сейчас интересует в чём же ошибка=)

0
Me11eR
10 / 10 / 0
Регистрация: 08.07.2009
Сообщений: 34
31.05.2011, 05:24 #6
C++
1
 initgraph(&d,&r,"d:\\TC\\BGI");
скомпилил это. ничего не ругался. я даже линию нарисовал (ибо код дракона чето не пашет)

Добавлено через 5 минут
Тем более, что методичку писал он сам, а по ней всё правильно.
У нас в колледже по турбопаскалю методички преподские, которую я после и редактировал.

Добавлено через 12 минут
Переписал чуток код, компилится, вырисовывает эти квадраты (я не шарю что это)

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
#include<graphics.h>
#include <conio.h>
#include<dos.h>
 
#define len 20
int a;
int     d=DETECT,
    r,
    n=418,
    i,
    angle=270,
    old_angle=270;
 
int K(int i){
    if (i % 2 == 1){
        return i % 4;
    }else{ 
        return K(i/2);
    }
}
 
 
void Step(int angle, int *old_angle){
    switch(angle){
        case 0:
            if(*old_angle==90){
                linerel(-a,-a);
            }else{
                linerel(a,-a);
            }
                  linerel(0,-(len-2*a)); 
            break;
            case 180:
                  if(*old_angle==90){
                linerel(-a,a);
            }else{
                linerel(a,a);
            }
                  linerel(0,(len-2*a));
            break;
            case 90:
                  if(*old_angle==0){
                linerel(-a,-a); 
            }else{
                 linerel(-a,a);
            }
                  linerel(-(len-2*a),0); 
            break;
            case 270:
                  if(*old_angle==0){
                linerel(a,-a); 
            }else{
                linerel(a,a);
            }
                  linerel(len-2*a,0);
            break;
    }
    *old_angle=angle;
}
 
void main(){
    a=len/5;
    initgraph(&d,&r,"d:\\TC\\BGI");
    moveto(190+a, 276);
    linerel(len-a,0);
    for (i=1; i<n; i++){
        angle=(angle+K(i)*90) % 360;
        delay(1);
            Step(angle, &old_angle);
    }
    getch();
    closegraph();
}
0
TrueTuy
0 / 0 / 0
Регистрация: 31.05.2011
Сообщений: 5
31.05.2011, 05:35  [ТС] #7
Хм...
Без последнего слеша 4 Linker Error... Возможно не хватает чего-то в папке BGI?..
Я уже совсем запутался, да и рисующую линию нет смысла сдавать... Хотя там ничего сложного... впринципе...
Спасибо за помощь! Но я уже сейчас ни в чём не разберусь. Утро вечера мудренее.
Спокойной... Спокойного времени суток! =)
0
Me11eR
10 / 10 / 0
Регистрация: 08.07.2009
Сообщений: 34
31.05.2011, 05:36 #8
+ скрины в аттаче
0
Миниатюры
Expression Syntax Error на Turbo C 3.0   Expression Syntax Error на Turbo C 3.0  
Me11eR
10 / 10 / 0
Регистрация: 08.07.2009
Сообщений: 34
31.05.2011, 05:38 #9
4 Linker Error..

ошибки линкера. проверь пути Turbo C в ветке "Options->Directories" и вставь туда правильные значения.
1
TrueTuy
0 / 0 / 0
Регистрация: 31.05.2011
Сообщений: 5
31.05.2011, 05:41  [ТС] #10
Огромное спасибо! Но Linker'ы не исчезли(
Завтра разберусь с BGI возможно в ней дело.
Спасибо огромное!
0
31.05.2011, 05:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.05.2011, 05:41
Привет! Вот еще темы с ответами:

Ошибка error C2146: syntax error : missing ';' before identifier 'alph' - C++
Не получается откомпилировать прогу из консоля в MFC, выбивает ошибку error C2146: syntax error : missing ';' before identifier 'alph' ...

[C++ Error] Unit1.cpp(6): E2141 Declaration syntax error - C++
Ошибка : Unit1.cpp(6): E2141 Declaration syntax error Ошибка падает на Int main () Исходный код : #include&lt;iostream&gt; ...

Компилятор выдаёт ошибку error C2059: syntax error : '}' - C++
Компилятор visual studio 2010 выдаёт ошибку error C2059: syntax error : '}' в строке 91. Самая последняя строка #include &lt;iostream&gt; ...

Error C2059: syntax error : 'constant' - C++
Подскажите пожалуйста почему выдает ошибку error C2059: syntax error : 'constant' в этой строке : const int OK=0, EOS=0, ERROR=0; ...


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

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

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