Написать программу, которая считывает текст из файла и выводит на экран только предложения, содержащие введенное с клавиатуры слово.
Код программы:
//---------------------------------------------------------------------------- #include<iostream.h> #include<conio.h> #include<fstream.h> #include<windows.h> #include<vcl.h> #pragma hdrstop #pragma argsused //---------------------------------------------------------------------------- char *rus(const char *text); //функция для распознавания русских символов int main(int argc, char* argv[]) { ifstream fin("text.txt"); //открываем файл для чтения if(!fin) //если файла нет { cout<<rus("Файл text не существует!"); //выводим сообщение getch(); return 1; } //--------------------------------------------------------------------------- fin.seekg(0,ios::end); //определяем длину файла, перемещаемся на его конец long len=fin.tellg(); //получаем длину файла и заносим в переменную len char *buf=new char[len+1];//выделяем len+1 байтов для хранения текста из файла char *buffer=new char[len+1]; char *word=new char[len+1]; fin.seekg(0,ios::beg); //переносимся опять на начало файла для чтения fin.read(buf,len); //проводим чтение из файла buf[len]='\0'; //заносим 0-ой символ в конец файла long n=0,i=0,j=0,m=0,cnt=0; //объявление переменных для работы с текстом cout<<rus("Введите слово для поиска: ");cin>>word; //--------------------------------------------------------------------------- while(buf[i]) //просмотр файла { if(buf[i]=='?'||buf[i]=='!'|| buf[i]=='.') //поиск предложений { for(j=n,m=0;j<=i;j++,m++) { buffer[m]=buf[j]; //запоминаем предложение } buffer[m]='\0'; if(strstr(buffer,word)) //ищем предложение содержащее введенное слово { cnt++; cout<<buffer; } n=i+1; //заносим позицию начала нового предложения } i++; //увеличиваем на 1 для просмотра массива } cout<<endl; if(0==cnt)cout<<rus("Таких предложений нет!"); getch(); return 0; } //---------------------------------------------------------------------------- char bufrus[256]; char *rus(const char *text) { CharToOem(text,bufrus); return bufrus; } //----------------------------------------------------------------------------
Создаем текстовый файл в папке с проектом с именем text.txt и заполняем его необходимым содержанием.
Результат работы программы: