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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 47, средняя оценка - 4.64
Nunuvin
2 / 2 / 0
Регистрация: 04.07.2012
Сообщений: 11
#1

Expected identifier before ( token что это? - C++

06.07.2012, 05:08. Просмотров 6380. Ответов 4
Метки нет (Все метки)

Сегодня встертил вот такую ошибку.Впервые появилась она, на такой строчке:
C++
1
 if (length==1)&&(ships[0]<=0);
где int length, ships[5];
вот код программы (пытаюсь морской бой написать)
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
#include <iostream>
#include <stdio.h>
#include <windows.h>
#include <conio.h>
#include <cstdlib>
using namespace std;
void menu();
 
void delay (int delayv) // zadergka
    { int i;
        for (i=0;i<=delayv*100000000;i++);
    }
 
void body() // igra
{
    int i,j,length, raw2, col,g, ships[5]={4,3,2,1};
    char box1 [10][10], box2 [10][10], row [10]={'A','B','C','D','E','F','G','H','I','J'},column, way;
    for (i=0;i<=9;i++)
    {
        for (j=0;j<=9;j++)
            box1[i][j]='O';
 
    }
     for (i=0;i<=9;i++)
    {
        for (j=0;j<=9;j++)
          box2[i][j]='O';
    }
    //pered fazoy postroyki
 
    system("cls");
    cout <<' ';
    for (i=1;i<=10;i++) // kolonki pole 1
    {
        cout << i;
 
    }
    cout<<"   ";
    for (i=1;i<=10;i++) // kolonki pole 2
    {
        cout << i;
 
    }
    cout << endl;
    for(i=0;i!=10;i++) //ryadi
    {
       cout << row[i];
        for (j=0;j<=18;j++)
        {
           if (j<=9) cout << box1 [i][j];
           if (j==9) cout << "    ";
           if (j>=9) cout << box2 [i][j-9];
        }
        cout << endl;
    }
 
        // phaza postroyki
        cout << "Time to place your ships!"<<endl
        <<"TO PLACE SHIPS WRITE COORDINATE OF BEGINNING (RAW(CAPSLOCK ON) THEN COLUMN),"
        <<endl<<" LENGHT, AND THEN ADD S,W,N,E \n";
        // delay(10);
     do
    {
        g = getch();
        cin >> raw2 >> column >> length >> way;
        //cout << raw << column << length << way;
        if (column=='A') col=1;
        if (column=='B') col=2;
        if (column=='C') col=3;
        if (column=='D') col=4;
        if (column=='E') col=5;
        if (column=='F') col=6;
        if (column=='G') col=7;
        if (column=='H') col=8;
        if (column=='I') col=9;
        if (column=='J') col=10;
        box1[raw2][col]='X';
       // registracia v massive
        if (length>=1)
        {
             if (length==1)&&(ships[0]<=0);
             else
                {
                    if (length==1) ships[0]--;
                    if (way=='S') box1 [raw2+1][col]='X';
                    if (way=='N') box1 [raw2-1][col]='X';
                    if (way=='E') box1 [raw2][col+1]='X';
                    if (way=='W') box1 [raw2][col-1]='X';
 
                }
            if (length>=2)
            {
                if (length==2)&&(ships[1]<=0);
                else
                {
                    if (length==2) ships[1]--;
                    if (way=='S') box1 [raw2+1][col]='X';
                    if (way=='N') box1 [raw2-1][col]='X';
                    if (way=='E') box1 [raw2][col+1]='X';
                    if (way=='W') box1 [raw2][col-1]='X';
 
                }
            }
            if (length>=3)
            {
                 if (length==3)&&(ships[2]<=0);
                else
                {
                    if (length==3) ships[2]--;
                    if (way=='S') box1 [raw2+1][col]='X';
                    if (way=='N') box1 [raw2-1][col]='X';
                    if (way=='E') box1 [raw2][col+1]='X';
                    if (way=='W') box1 [raw2][col-1]='X';
                }
            }
            if (length==4);
            {
                if (length==4)&&(ships[3]<=0);
                else
                {
                    if (length==4) ships[3]--;
                    if (way=='S') box1 [raw2+1][col]='X';
                    if (way=='N') box1 [raw2-1][col]='X';
                    if (way=='E') box1 [raw2][col+1]='X';
                    if (way=='W') box1 [raw2][col-1]='X';
                }
            }
 
        }
        //vivod
 
    } while (g!=27);
}
 
 
 
 
 
 
void menu() //menu
{
 
 
   cout << "TO START TYPE 1 AND PRESS ENTER" << endl;
   cout << "TO SEE TUTORIAL BEFORE PLAYING TYPE 2 AND PRESS ENTER" << endl;
   cin  >> inputv;
   if (inputv==1) body();
   if (inputv==2)
   {
       cout << "TO PLAY JUST TYPE BOX COORDINATES [ROW] [COLUMN] TO FIRE \n"
            << "TO PLACE SHIPS WRITE COORDINATE OF BEGINNING (RAW (CAPSLOCK ON) THEN COLUMN),"
            <<endl<<" LENGHT, AND THEN ADD S,W,N,E \n"
            << "PRESS ANY KEY TO CONTINUE";
      // delay(10);
      do {} while(!kbhit());
      system("cls");
      menu();
 
   }
}
 
int main()
{
    menu();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.07.2012, 05:08     Expected identifier before ( token что это?
Посмотрите здесь:

C++ Expected unqualified-id before '{' token
C++ Expected unqualified id before '{' token
Expected unqualified-id before '<' token C++
Expected unqualified-id before '(' token . ошибка C++
C++ Error expected unqualified-id before '{' token c++
C++ Expected unqualified-id before '{' token
Error: expected ')' before ';' token C++
Ошибка: expected unqualified-id before '{' token C++
Error expected unqualified-id before '{' token C++
Ошибка в коде. expected ';' before ')' token C++
Ошибка expected class-name before '{' token C++
C++ Expected primary-expression before '[' token

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
KilloN
3 / 3 / 0
Регистрация: 27.05.2012
Сообщений: 26
06.07.2012, 05:21     Expected identifier before ( token что это? #2
Нужно использовать дополнительные скобки, компилятор выдаёт:

error C2143: синтаксическая ошибка: отсутствие ";" перед "&&"

C++
1
if ((length==1)&&(ships[0]<=0));
Добавлено через 3 минуты
Правда не могу понять чего ты хочешь добиться в этой строчке если она не будет выполняется, тюкю после скобок ";" стоит...
Nunuvin
2 / 2 / 0
Регистрация: 04.07.2012
Сообщений: 11
06.07.2012, 07:46  [ТС]     Expected identifier before ( token что это? #3
Цитата Сообщение от KilloN Посмотреть сообщение
Правда не могу понять чего ты хочешь добиться в этой строчке если она не будет выполняется, т.к. после скобок ";" стоит...
Собственно так я отделил не желательный результат, а если другой то продолжение работы) (согласен что это не очень понятный способ)
второе условие, это проверка доступны ли корабли, а первое это их размер)
KilloN
3 / 3 / 0
Регистрация: 27.05.2012
Сообщений: 26
06.07.2012, 08:18     Expected identifier before ( token что это? #4
А если так?
C++
1
2
3
4
5
6
7
8
9
if (length!=1) || (ships[0]>0)
                {
                    if (length==1) ships[0]--;
                    if (way=='S') box1 [raw2+1][col]='X';
                    if (way=='N') box1 [raw2-1][col]='X';
                    if (way=='E') box1 [raw2][col+1]='X';
                    if (way=='W') box1 [raw2][col-1]='X';
 
                }
Case-Man
86 / 32 / 1
Регистрация: 02.01.2012
Сообщений: 320
06.07.2012, 09:10     Expected identifier before ( token что это? #5
Nunuvin, KilloN, после if должны стоять одни скобки с условием внутри.
А вот уже внутри этих скобок можно городить всякие логические связки.

То есть вот это неправильно:
Цитата Сообщение от KilloN Посмотреть сообщение
C++
1
if (length!=1) || (ships[0]>0)
а надо так:
C++
1
if ((length!=1) || (ships[0]>0))
Yandex
Объявления
06.07.2012, 09:10     Expected identifier before ( token что это?
Ответ Создать тему
Опции темы

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