Я пишу программу, которая расшифровывает предложения, слоги и слова, данные в основном текстовом файле.
Программа перебирает файл посимвольно. Сначала он проверяет, является ли это маркером конца предложения, например !
?
:
;
или .
. Затем, если символ не является пробелом или табуляцией, предполагается, что это символ. Наконец, он определяет, что если это пробел или табуляция, а последний символ перед ним был допустимой буквой / символом (например, не маркером конца предложения), то это слово.
Я немного не вдавался в подробности, но вот в чем проблема. Мое количество слов равно количеству моих предложений. Это означает, что слово останавливается, когда есть маркер конца предложения, НО настоящая проблема в том, что пробелы считаются допустимыми буквами.
Вот мое выражение if, чтобы решить, является ли рассматриваемый символ допустимой буквой в слове:
else if(character != ' ' || character != '\t')
К тому моменту в программе я уже исключил маркеры конца предложения. (В оригинале, если на самом деле). При чтении таблицы Ascii 32 должно быть пробелом. Однако, когда я вывожу все символы, которые попадают в этот блок кода, там есть пробелы.
Так что я делаю не так? Как я могу помешать пробелам пройти через это, если?
Заранее спасибо, и я чувствую, что вопрос может быть немного расплывчатым или плохо сформулированным. Если у вас есть вопросы или вам нужны разъяснения, дайте мне знать.
'\t'
для табуляции. - person dmckee --- ex-moderator kitten   schedule 05.02.2010