Познавательный блог Мобильная врсия

Страницы

Промо

Как посчитать количество букв, слов и предложений в тексте на C++

Как посчитать количество букв, слов и предложений в тексте на C++.

На входе программы имеем текстовый файл text.txt. Необходимо подсчитать число слов, букв и предложений. Для подсчета букв, создадим массив с буквами и будем каждую сравнивать и прибавлять счетчик. Для подсчета слов будем считать пробелы, точки и переходы на новую строку. А для подсчета предложений посчитаем точки.

#include <conio.h>
#include <stdio.h>

int main(int argc, char* argv[])
{
FILE *f;
char buk[87] = "qwetryuiopasdfghjklzxcbvnmйцукенгшщзхъфывапрлоджэячсмитьбю";
char pre[3] = "!?.";
int pred,slov,bukv;
pred = slov = bukv = 0;
char ch;
//----------------
if ((f = fopen("test.txt","r"))== NULL)
{
printf("Cannot open input file.\n");
getch();
return 1;
}
//----------------
while (!feof(f))
{
ch = fgetc(f);
if(ch == ' ' || ch == '\n' || ch == '\t') slov++; //Считает точки и переход на следущую строку.
} //Табуляцию тоже считаем.
fseek(f,0,SEEK_SET); //Переход в начала файла.
printf("Slov : %i",slov+1); //на 1 слово больше так как пробела после него нет.
//----------------
while (!feof(f))
{
ch = fgetc(f);
for(int i=0;i<87;i++)
if(ch == buk[i]) bukv++;;
}
fseek(f,0,SEEK_SET);
printf("\nBukv : %i",bukv);
//----------------
while (!feof(f))
{
ch = fgetc(f);
for(int i=0;i<3;i++)
if(ch == pre[i])
{
pred++;
break;
}
}
fseek(f,0,SEEK_SET);
printf("\nPredlozheniy : %i",pred);
//----------------
getch();
fclose(f); //Закрываем все потоки файлов.
//----------------
return 0;
}

На выходе получим данные приведенные в консоли. Присоединяю готовый, скомпилированный проект.

002.zip — Скачать готовый проект для Borland C++ Builder 6.0

Комментарии

Комментарий от Анатолий [ 22 октября, 2009, 21:03 ]

Как добавить в эту программу запись в файл “test.txt” с клавиатуры ?

Комментарий от admin [ 22 октября, 2009, 21:09 ]

Изучить работу с файлами C++.

Комментарий от дарья [ 24 мая, 2011, 13:49 ]

как определить 3-ую справа цифру натурального числа? подскажите пожалуйста,а то что-то вообще никак не получается

Написать комментарий








Поиск по сайту

Статистика

Мета

  Разработка и дизайн — StvPromo.ru