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

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

Войти
Регистрация
Восстановить пароль
 
Demeta
0 / 0 / 0
Регистрация: 13.11.2016
Сообщений: 12
#1

Исправить код парсера так, чтобы он работал только с буквами английского алфавита - C++

29.11.2016, 13:23. Просмотров 138. Ответов 3
Метки нет (Все метки)

Есть программа, определяющая, расположены ли буквы во введенной строке в порядке, обратном алфавитному.
Рабочая, опирается на аски-таблицы, сравнивая коды введенных символов.
Как правильно дополнить ее условием, чтобы она работала ТОЛЬКО на буквы английского алфавита верхнего и нижнего регистра? Т.к. сейчас она сравнивает и цифры, и символы типа *, {, " и тд
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <stdio.h>
#include <clocale>
int main()
{
    Setlocale(LC_ALL, "Russian");
    int bukva, etalon = 0;
    std::cout << "Vvedite posledovatelnost’ simvolov, zakanchivaushuysa EOF (Ctrl+Z)\n";
    std::cin >> bukva;
    etalon += getchar();
    while ((bukva = (getchar())) != EOF)
        if (etalon > bukva)
        {
            etalon = bukva;
        }
        else
        {
            std::cout << "\n Posledovatelnost' ne v poryadke, obratnom alphavitnomy \n";
            return 0;
        }
    std::cout << "Posledovatelnost' v poryadke, obratnom alphavitnomy \n";
    return 0;
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2016, 13:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Исправить код парсера так, чтобы он работал только с буквами английского алфавита (C++):

Как заполнить массив буквами английского алфавита ? - C++
26 букв Добавлено через 48 секунд с помощью цикла for и по порядку ! Заранее спасибо!

Из строки удалить все символы, кроме пробелов, не являющиеся буквами английского алфавита - C++
Разработать консольное приложение. 1. Во введенной строке после k-го символа вставить заданную подстроку. Подстроку ввести с клавиатуры....

Шифр Виженера: переписать код так, чтобы программа не только зашифровала, но и расшифровала текст - C++
Текст он зашифрует но не расшифрует. А как сделать чтобы он зашифровал и расшифровал текст??? #include &quot;stdafx.h&quot; #include &lt;ctime&gt; ...

Исправить код программы по выводу алфавита - C++
#include &lt;iostream&gt; using namespace std; int main() { char letter; for (letter = 'A'; letter &lt;= 'Z'; letter++); cout &lt;&lt;...

Переписать файл так, чтобы термины выделялись прописными буквами - C++
Помогите, пожалуйста. Задали написать вот такую программу &quot;В текстовом файле специальные термины выделены кавычками. Переписать...

Сделать так, чтобы предикат работал тоже шаблонно, в зависимости от типа значений, хранимых ей - C++
Здравствуйте! Имеется некий предикат, например: bool isInteger (double value){ return static_cast&lt;int&gt;(value)==value; } ...

3
MrGluck
Модератор
Эксперт CЭксперт С++
7510 / 4642 / 700
Регистрация: 29.11.2010
Сообщений: 12,675
29.11.2016, 13:27 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Demeta Посмотреть сообщение
Как правильно дополнить ее условием, чтобы она работала ТОЛЬКО на буквы английского алфавита верхнего и нижнего регистра?
isalpha
1
Demeta
0 / 0 / 0
Регистрация: 13.11.2016
Сообщений: 12
29.11.2016, 13:38  [ТС] #3
Как здесь правильно использовать isalpha? Вставляю это в цикл, и программа перестает корректно работать
0
MrGluck
Модератор
Эксперт CЭксперт С++
7510 / 4642 / 700
Регистрация: 29.11.2010
Сообщений: 12,675
29.11.2016, 13:48 #4
C++
1
if (etalon > bukva && isalpha(bukva ))
Добавлено через 39 секунд
Я бы еще все буквы при сравнении приводил бы в один регистр. Например, с помощью std::tolower
1
29.11.2016, 13:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2016, 13:48
Привет! Вот еще темы с ответами:

Переписать файл так, чтобы слова в кавычках выделялись прописными буквами - C++
Ребята, помогите, пожалуйста, дописать программу. Нужно сделать так, что есть слова в текстовом файле, выделенные кавычками. ...

Превратить строку так, чтобы сначала в ней были напечатаны только буквы, а потом только цифры - C++
Превратить строку так, чтобы сначала в ней были напечатаны только буквы, а потом только цифры, не меняя порядка прохождения символов в...

Сортировка букв английского алфавита - C++
Здравствуйте, помогите решить проблему не пойму в чём дело необходимо отсортировать слова: void SetsManipulation::sortA() { int...

Обработать строку так, чтобы чтобы в ней остались только те слова которые содержат буквы и цифры - C++
Привет всем, помогите решить задачу. Обработать строку таким образом чтобы чтобы в ней остались только те слова которые содержат буквы и...


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

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

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