Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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




 

Главная функция 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;

}

}

}

 

}

 


mylektsii.ru - Мои Лекции - 2015-2018 год. (0.01 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал