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

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

Войти
Регистрация
Восстановить пароль
 
AcMc
Сообщений: n/a
#1

Текстовые файлы - C++

11.12.2010, 15:15. Просмотров 285. Ответов 0
Метки нет (Все метки)

Добрый день! Мне необходимо обработать текстовый файл, подсчитав в нем количество слов, предложений и абзацев. В каждой строчке не более 20000 символов. Пишу программу
#include <stdio.h>
#include <string.h>
int
control (char *str)
{
int i = 0, k = 0;
while ((str[i] != '\0') || (str[i] != '\n'))
{
if (((str[i] >= 'A' && str[i] <= 'Z') || (str[i] >= 'a' && str[i] <= 'z')) && ((str[i] != '\0') || (str[i] != '\n')))
{
k = 1;
}
i++;
}
return k;
}
int
main (void)
{
FILE *in = fopen ("input.txt", "r");
FILE *out = fopen ("output.txt", "w");
int w = 0, s = 0, p = 0, i = 0, pref = 0;
char str[10001];
while (fgets (str, 10001, in))
{
i = 0;
if (control (str) == 1)
{
while ((str[i] != '\0') || (str[i] != '\n'))
{
while (((str[i] >= 'A' && str[i] <= 'Z') || (str[i] >= 'a' && str[i] <= 'z') || (str[i] == ' ')) && ((str[i] != '\0') || (str[i] != '\n')))
{
i++;
}
if ((str[i - 1] >= 'A' && str[i - 1] <= 'Z') || (str[i - 1] >= 'a' && str[i - 1] <= 'z'))
{
w++;
}
while ((str[i] == ' ') && ((str[i] != '\0') || (str[i] != '\n')))
{
i++;
}
if ((str[i] == '.') && ((str[i] != '\0') || (str[i] != '\n')))
{
s++;
i++;
}
}
if (pref == 0)
{
p++;
}
pref = 1;
}
if (control (str) == 0)
{
pref = 0;
}
}
fprintf (out, "%d %d %d ", w, s, p);
fclose (in);
fclose (out);
return 0;
}
но она не работает-вообще ничего не выводится, компьютер виснет..Если кто-нибудь знает, как исправить код, помогите, пожалуйста!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2010, 15:15     Текстовые файлы
Посмотрите здесь:

Текстовые файлы - C++
#include&lt;iostream&gt; #include&lt;fstream&gt; #include&lt;locale.h&gt; #include&lt;iomanip&gt; #include&lt;conio.h&gt; #include&lt;iomanip&gt; using namespace...

Текстовые файлы - C++
Когда сдавал программу, придрались к тому, что у меня файл считывается в строку. Как исправить? #include &lt;iostream.h&gt; #include...

Текстовые файлы - C++
Задание: Дана строка S, состоящая из 10 цифр, и файл с русским текстом. Зашифровать файл, выполнив циклическую замену каждой русской...

Текстовые файлы - C++
В исходном файле float–числа в формате с фиксированной точкой (5 знаков после запятой). Создать из «-»-х чисел, следующих за двумя «+»-ми...

Текстовые файлы с++ - C++
Помогите решить задачу, почему то слова не удаляются. Удалить из файла все слова длиной более 10 символов #include &lt;errno.h&gt; #include...

Текстовые файлы в C++ - C++
Помогите пожалуйста написать прогу по файлам в С++. Вот задание:

Текстовые файлы - C++
Здесь так много умных людей, что не удержался и опять решил попросить помощи, т.к. в прошлые 2 раза очень сильно помогли. Вроде потом...

Текстовые файлы с++ - C++
Дан текстовый файл FileIn, записанный в кодировке DOS. Составить функцию ASCII_ ANSI (FileIn, FileOut) преобразования текстового файла в...

Текстовые файлы в С++ - C++
Добрый день. В летнюю практику входило задание написать программу в среде visual studio c++... Но за лето, конечно, забылась большая...

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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