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

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

Войти
Регистрация
Восстановить пароль
 
Yakoot
15 / 15 / 2
Регистрация: 13.11.2011
Сообщений: 65
#1

Проверка синтаксиса объявления переменных - C++

23.12.2011, 20:28. Просмотров 530. Ответов 1
Метки нет (Все метки)

суть задачи такова:
во входном файле код объявления переменных.. нужно проверить на наличие ошибок, и выдать позицию первой ошибки..
могут быть типы
int
short int
long int
short
long
int short
int long
double
long
double long
long double
char

ну и собственно имя переменной или массива..
без инициализации
на паре делали проверку правильности double числа.. там сперва граф строится.. затем составляется таблица состояний.. и по ней циклами прогоняется..
вот так вот
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
int main()
{
    int table[8][5] = {
                        {1, 2, 3, -1, -1},
                        {-1, 2, 3, -1, -1},
                        {-1, 2, 4, 5, 255}, 
                        {-1, 4, -1, -1, -1},
                        {-1, 4, -1, 5, 255},
                        {7, 6, -1, -1, -1}, 
                        {-1, 6, -1, -1, 255},
                        {-1, 6, -1, -1, -1}};
    char p[5][11] = {"+-", "0123456789", ".", "Ee", "$"};
    
    char str[] = "-8.21+56546e+3$";
    int a, i = 0, n = 0;
    do
    {
        for (a = 0; a < 5; a++)
        {
            if (strchr(p[a], str[i]) != NULL)
                break;
        }
        if(a == 5) n=-1;
        else
        {
            n = table[n][a];
            i++;
        }
    }
    while (n != -1 && n != 255);
    if (n == -1)
        cout << "Error!!! pos = " << i << endl;
    else
        cout << "OK!" << endl;
    return 0;
}
а насчет основного задания чот как-то непонятно.. граф я подобный составил.. но там типы надо сравнивать полексемно, а все остальное посимвольно.. помогите кто чем может)

 Комментарий модератора 
Чтобы "поднять" тему в разделе и поиске по форуму, используйте осмысленные сообщения, например "Тема/проблема/задача актуальна". Если вы чего-то достигли в решении проблемы на этот момент, сообщите об этом.

Будете продолжать в том же духе, начну раздавать карточки.


Добавлено через 10 часов 32 минуты
тема актуальна
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2011, 20:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проверка синтаксиса объявления переменных (C++):

Нюансы объявления переменных - C++
Здравствуйте. Есть несколько моментов, касающихся объявления переменных, которые пока не вполне понятны: 1 - В чём заключается...

Что за объявления переменных? - C++
День добрый! Скачал библиотеку, а там в объявлении класса: private: double(*d_y)(double); и соответственно в...

Что означают эти объявления переменных? - C++
Я не знаю как это понимать... В условии задания почему-то тип данных указан только для первой строки, а для остальных нет... там же точки с...

Программа, которая содержит объявления следующих переменных - C++
Приветствую, форумчане. Не так давно начал изучать C++ и в процессе обучения возник вопрос с решением задач, взять к примеру эту: ...

В чём отличие разных способов объявления переменных? - C++
в чем отличие int a(2); от int a=2; И как писать правильней

Все виды(способы) объявления переменных, функций, классов, типов и т.п. на С++ - C++
Пишу обфускатор кода, написанного на С++ и появилась необходимость знания всевозможных способов объявления чего-либо на С++. Так как...

1
Yakoot
15 / 15 / 2
Регистрация: 13.11.2011
Сообщений: 65
25.12.2011, 20:02  [ТС] #2
тема актуальна
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2011, 20:02
Привет! Вот еще темы с ответами:

Проверка объявления нескольких define - C++
Как проверить, что объявлены оба этих дефайна? #define SOME_VAR1 100 #define SOME_VAR2_EXIST #ifdef SOME_VAR1 &amp;&amp; SOME_VAR_EXIST...

Проверка синтаксиса Email адреса - C++
Помогите разработать программу, которая вводит адрес электронной почты и проверяет синтаксис введённого адреса. Результат выводится в виде...

Проверка значений переменных во время отладки - C++
как узнать текущее значение переменной во время отладки?

объявления - C++
в чем отличие такого определения float var = 1.f; от такого float var = 1.0f;


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

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

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