Не могу отомпилировать..
Доюрый день.
Добрый день.
В общем, так.. Пишу программу, в которой фигурирует меню в виде псевдографики на основе динамического двунаправленного кольцевого списка (внешне похоже на меню GTA:Vice City). Написал это меню. Все хорошо. Начал писать его обработку и тут возникла проблема..
HTML код:
#define a2 "Exit";
….
do
{
OutMenu (HeadMenu,/*TailMenu,*/Activ,color);
i=getch();
//vniz
if (i==80)
Activ=Activ->next;
//vverh
if (i==72)
Activ=Activ->pred;
//najali Enter
if (i==13)
if (Activ->info==a2)
i=27;
}
while (i!=27);
Проблема: не хочет компилировать эту строку: if (Activ->info==a2) что тут не так? Писала аналогичное на Pascal'е, все получалось, а тут..
|
BlackEric |
09-05-2008 00:19 798049 |
Компилятор , код ошибки, как объявлен Activ, версия ОС?
|
Admiral |
09-05-2008 05:11 798130 |
А может if ((Activ->info)==a2) ?
|
Цитата:
Цитата BlackEric
Компилятор , код ошибки, как объявлен Activ, версия ОС? »
|
Borland c++(если этого не хватает, то скажите где смотреть).
121: If statement missing
121: Expression syntax
XP SP2 версия 5,1 сборка 2600
Цитата:
Цитата Admiral
А может if ((Activ->info)==a2) ? »
|
неа :(
|
Admiral |
09-05-2008 17:22 798386 |
Тогда стоит поробовать так
Код:
if (i==13)
{
if (Activ->info==a2)
i=27;
}
Хотя там по одному вложениюв if должно и так счёлкать.
|
Admiral, 'это ничего не меняет..вложен только один оператор.
|
Admiral |
09-05-2008 17:44 798395 |
Да я так в оффе тоже написал. Но может компилятор запутался :wink:
А всё же как объявлен Activ?
|
Эх, забыл сразу отправить :) Вот:
HTML код:
#define TNode struct TNode
TNode
{
char info[10];
TNode *next;
TNode *pred;
};
...
TNode *Activ=HeadMenu;
|
M1sha, массивы нельзя сравнивать с помощью оператора ==. Для сравнения строк есть функция strcmp.
|
ivank, спасибо, теперь все работает)
|
Время: 18:45.
© OSzone.net 2001-