Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Схемы алгоритмов




 

Главная функция main:

 

Функция void analysis();

 

Функция void custom();

 

 

Функция void FileRead();

 

Функция void SaveTo();

 

Листинг программы

 

#include <iostream>

#include <conio.h>

#include <fstream>

#include <Windows.h>

 

using namespace std;

 

char MenuPointer;

char fileName[255],Buff[1000],FileString[16000];

int WordQuant=0,SentQuant;

 

char FirstWord[30][255],znak[40];

int Col[40];

 

int N,J,K,Z,count,Z1=0;;

 

void FileRead()

{

cout<<"Enter a name for the file format name.txt\n(file must be located in the same directory with the program):\n";

gets(fileName);

 

ifstream fin(fileName, ios_base::in);

 

 

fin.getline(FileString, 1000);//для очистки старой строчки считываем сперва первую строку в строку документа

 

while (!fin.eof())

{

strcat(FileString," ");

fin.getline(Buff, 1000);

strncat(FileString,Buff,strlen(Buff));

}

strcat(FileString," ");

cout<<FileString;//Текстовая строка

fin.close();

}

 

void Custom()

{

cout<<"Enter the text for analysis:\n";

gets(FileString);

//cout<<FileString;//Текстовая строка

}

 

void Analysis()

{

N=strlen(FileString);

 

WordQuant=0;//количество слов

SentQuant=0;//количество предложений

 

for (int i=0;i<N;i++)

{

if (i==0)//Первое слово первого предложения

{

while (FileString[J]!=' ' && FileString[J]!=',' && FileString[J]!='.' && FileString[J]!='!' && FileString[J]!='?')

{

FirstWord[K][J]=FileString[J];

//cout<<FileString[J]<<endl;

//cout<<FirstWord[0][J]<<endl;

J++;

}

 

FirstWord[K][J]='\0';

cout<<FirstWord[K]<<endl;

K++;

}

 

if (i>1 && FileString[i-1]==' ' && (FileString[i-2]=='.' || FileString[i-2]=='!' || FileString[i-2]=='?'))//поиск первого слова

{

J=i;

int U=0;

 

while (FileString[J]!=' ' && FileString[J]!=',' && FileString[J]!='.' && FileString[J]!='!' && FileString[J]!='?')

{

 

FirstWord[K][U]=FileString[J];

//cout<<FirstWord[K][U];

J++;

U++;

}

 

FirstWord[K][U]='\0';

cout<<FirstWord[K]<<endl;

K++;

}

 

if (FileString[i]==' ')//Количество слов в предложениях

{

WordQuant++;//количество слов общее

count++;//количество слов в текущем предложении

 

if (FileString[i-1]=='!' || FileString[i-1]=='?' || FileString[i-1]=='.')

{

Col[Z]=count;

Z++;

count=0;

}

}

 

 

if (i>1 && FileString[i]==' ' && (FileString[i-1]=='!' || FileString[i-1]=='?' || FileString[i-1]=='.')) SentQuant++;//количество предложений

 

if (i>1 && FileString[i]==' ' && (FileString[i-1]=='!' || FileString[i-1]=='.' || FileString[i-1]=='?')) //завещающий знак

{

znak[Z1]=FileString[i-1];

Z1++;

}

}

 

for (int i=0;i<Z;i++)

{

cout<<"Number of words in "<<i+1<<"offer equal"<<Col[i]<<endl;

cout<<"The final mark in"<<i+1<<" sentence: "<<znak[i]<<endl;

cout<<"The first word in "<<i+1<<" sentence: "<<FirstWord[i]<<endl;

}

 

cout<<"Word Count is:"<<WordQuant<<endl;

cout<<"Number of offers is: "<<SentQuant<<endl;

 

}

 

void SaveTo()

{

ofstream fout("answer.txt");

 

for (int i=0;i<Z;i++)

{

fout<<"Number of words in "<<i+1<<" offer equal "<<Col[i]<<endl;

fout<<"The final mark in "<<i+1<<" sentence: "<<znak[i]<<endl;

fout<<"The first word in "<<i+1<<" sentence: "<<FirstWord[i]<<endl;;

}

 

fout<<"Word Count is: "<<WordQuant<<endl;

fout<<"Number of offers is: "<<SentQuant<<endl;

 

fout.close();

 

cout<<"The data is stored in a file in the program directory answer.txt."<<endl;

}

 

main()

{

SetConsoleCP(1251);

SetConsoleOutputCP(1251);

Col[0]=0;

 

while (MenuPointer!='0')

{

system("cls");

 

cout<<"Select an action:\n";

cout<<"1 - Data input from file\n";

cout<<"2 - Manual data input\n";

cout<<"3 - Text Analysis\n";

cout<<"4 - Save the file to the report\n";

cout<<"0 - Exit\n";

 

MenuPointer=getch();

 

switch(MenuPointer)

{

case '1': {

system("cls");

FileRead();

cout<<endl;

system("pause");

break;

}

 

case '2': {

system("cls");

Custom();

cout<<endl;

system("pause");

break;

}

 

case '3': {

system("cls");

Analysis();

cout<<endl;

system("pause");

break;

}

 

case '4': {

system("cls");

SaveTo();

cout<<endl;

system("pause");

break;

}

}

}

 

}

 




Поделиться с друзьями:


Дата добавления: 2015-08-31; Просмотров: 151; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.026 сек.