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

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

Восстановить пароль Регистрация
 
AcMc
Сообщений: n/a
11.12.2010, 15:15     Текстовые файлы #1
Добрый день! Мне необходимо обработать текстовый файл, подсчитав в нем количество слов, предложений и абзацев. В каждой строчке не более 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++ Текстовые файлы
C++ Текстовые файлы
C++ Текстовые файлы
C++ Текстовые файлы
Текстовые файлы. C++
C++ Текстовые файлы
C++ Текстовые файлы
C++ Текстовые файлы
Текстовые файлы в С++ C++
C++ Текстовые файлы
Текстовые файлы в С++ C++
Текстовые файлы C++

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

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

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