0 / 0 / 0
Регистрация: 31.05.2011
Сообщений: 5
1

Expression Syntax Error на Turbo C 3.0

31.05.2011, 02:59. Показов 1807. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.05.2011, 02:59
Ответы с готовыми решениями:

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

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

Error: expression syntax error, NASM
Здравствуйте! Пишу программу, которая получает на вход количество элементов целочисленного массива...

Syntax error, unrecognized expression
на странице второго уровня (т.е. не на главной) есть ссылка вида &lt;a...

9
10 / 10 / 5
Регистрация: 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
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
10 / 10 / 5
Регистрация: 08.07.2009
Сообщений: 34
31.05.2011, 04:40 4
интересно.

Не по теме:

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

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

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

Не по теме:

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

0
10 / 10 / 5
Регистрация: 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
0 / 0 / 0
Регистрация: 31.05.2011
Сообщений: 5
31.05.2011, 05:35  [ТС] 7
Хм...
Без последнего слеша 4 Linker Error... Возможно не хватает чего-то в папке BGI?..
Я уже совсем запутался, да и рисующую линию нет смысла сдавать... Хотя там ничего сложного... впринципе...
Спасибо за помощь! Но я уже сейчас ни в чём не разберусь. Утро вечера мудренее.
Спокойной... Спокойного времени суток! =)
0
10 / 10 / 5
Регистрация: 08.07.2009
Сообщений: 34
31.05.2011, 05:36 8
+ скрины в аттаче
Миниатюры
Expression Syntax Error на Turbo C 3.0   Expression Syntax Error на Turbo C 3.0  
0
10 / 10 / 5
Регистрация: 08.07.2009
Сообщений: 34
31.05.2011, 05:38 9
4 Linker Error..

ошибки линкера. проверь пути Turbo C в ветке "Options->Directories" и вставь туда правильные значения.
1
0 / 0 / 0
Регистрация: 31.05.2011
Сообщений: 5
31.05.2011, 05:41  [ТС] 10
Огромное спасибо! Но Linker'ы не исчезли(
Завтра разберусь с BGI возможно в ней дело.
Спасибо огромное!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.05.2011, 05:41
Помогаю со студенческими работами здесь

Syntax error, unrecognized expression: #
Здравствуйте, вылезла вот такая фигня и не могу понять, в чем причина. Хелп плиз. Ошибка на...

Error E2188 expression syntax
Error E2188 expression syntax Из-за чего может быть? Кавычками отметила место на которое...

Ошибка: Syntax error, unrecognized expression
Здравствуйте. Столкнулся с проблемой. Есть такой код: for (var j = 0; j &lt; 6; j=j+6) { var aaa...

[BCC32 Error] Unit1.cpp(45): E2188 Expression syntax
float f (float x) { // Stack: TStack2; TStack *p; int i; char ch; float d, d1, d2; { ...


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

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

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