Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 09.12.2016
Сообщений: 10

Лексический анализатор с использованием оператора switch

19.01.2017, 17:30. Показов 1839. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Подскажите, пожалуйста, в чем проблема.
По заданию мне надо запрогать небольшой лексический анализатор при помощи switch. (делаю в консоле, а не в визуальной среде)
Я считываю строку из файла. Потом захожу в цикл, внутри которого у меня switch. И в каждом кейсе проверяю есть в строке нужная мне буква, иначе надо выдать ошибку.
У меня в switch получилось состояний где-то 150. Все кейсы примерно одинаковые внутри
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// ...
 
case 42:
{
    if (str[i] == 'a')
    {
        S[j + 1] = 43;
    }
    else
    {
        cout << "В строке № " << k << " допущена ошибка" << endl;
    }
    break;
}
 
// ...
Но прога мне просто постоянно выдает про каждую строку, что в ней есть ошибка, даже когда ее нет.
Что я делаю не так?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.01.2017, 17:30
Ответы с готовыми решениями:

Придумайте простую программу с использованием условного оператора IF и оператора switch
Пожалуйста, придумайте простую программу с использованием: условного оператора IF и оператора switch . Эти программы должны быть...

Разработайте программу с использованием оператора switch ()
Названия 5 цветов. #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;iostream&gt; int main() puts(&quot;Input sing (T, R,...

Написать программу с использованием оператора switch
Элементы круга пронумерованы следующим образом: 1 - радиус (R), 2 - диаметр (D), 3 -длина (L), 4 - площадь круга (S). Дан номер одного из...

6
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
19.01.2017, 17:32
Я так понимаю, что вы пытаетесь сравнить с кириллицей?
0
0 / 0 / 0
Регистрация: 09.12.2016
Сообщений: 10
19.01.2017, 17:48  [ТС]
Нет, это английская a.
У меня одна из строк, например:

str ="int main()"
0
90 / 88 / 33
Регистрация: 20.07.2016
Сообщений: 403
19.01.2017, 17:52
Цитата Сообщение от Dezim Посмотреть сообщение
Но прога мне просто постоянно выдает про каждую строку, что в ней есть ошибка, даже когда ее нет.
начало цикла, i = 0... str[i] == 'a' (для str == "int main()") - нет, значит в строке ошибка...
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,246
19.01.2017, 18:27
Цитата Сообщение от Dezim Посмотреть сообщение
выдает про каждую строку, что в ней есть ошибка
Приведите текст сообщения об ошибке.

У меня подозрение, что вы забыли
C++
1
2
#include <string>
using namespace std;
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
19.01.2017, 18:44
Цитата Сообщение от zss Посмотреть сообщение
У меня подозрение, что вы забыли
Тогда программа не компилировалась бы. ТС говорит про то, что у него не срабатывает условие if. При этом случае будет вывод, который написан в блоке else.
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,246
19.01.2017, 21:48
MrGluck, ТС написал
Цитата Сообщение от Dezim Посмотреть сообщение
прога мне просто постоянно выдает про каждую строку, что в ней есть ошибка
Так что, я думаю, она и не компилируется.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.01.2017, 21:48
Помогаю со студенческими работами здесь

Составить программу с использованием оператора switch Case
помогите составить программу с использованием оператора switch...case

Вычислить значение выражения с использованием оператора switch
Вычислить значение выражения с использованием оператора switch. Не знаю, что делать дальше. #include &lt;stdio.h&gt; #include...

С++ нужны программы в виде функций, с использованием циклов и оператора switch
1)Bычислить сумму n слагаемых: sunx+sinsinx+sinsinsinx+sinsinsinsinx+sinsin...sinx #== 2) а)Даны действительные числа х и у(х не...

Написать программу вычисления выражения c использованием оператора множественного выбора Switch
Всем привет!) Помогите с написанием программы для вычисления выражения c использованием оператора множественного выбора Switch. Заранее...

Написать программу вычисления выражения c использованием оператора множественного выбора Switch
Всем привет!) Помогите с написанием программы для вычисления выражения c использованием оператора множественного выбора Switch. Заранее...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ документа "ВыдачаОборудованияНаСпецтехнику" в. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru