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