Как посчитать количество букв, слов и предложений в тексте на 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
Написать комментарий