Вариант 6

Написать программу, которая считывает текст из файла и выводит на экран только предложения, не содержащие запятых.

Код программы:

//---------------------------------------------------------------------------
#include<windows.h>
#include<fstream.h>
#include<iostream.h>
#include<conio.h>
#include<vcl.h>
#pragma hdrstop
#pragma argsused
//---------------------------------------------------------------------------
char *rus(const char *text);  //функция для распознавания русских символов
int main()
{
 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]; //выделяем len+1 байтов для хранения предложения
 fin.seekg(0,ios::beg);        //переносимся опять на начало файла для чтения
 fin.read(buf,len);            //проводим чтение из файла
 buf[len]='\0';
 int i=0,j=0,n=0,m=0,cnt=0;  //объявление переменных для работы с текстом
 while(buf[i])               //просмотр файла
  {
   if(buf[i]=='?'||buf[i]=='!'||buf[i]=='.')
    {
     for(j=n,m=0;j<=i;j++,m++) //цикл для вывода текста
      {
       if(buf[j]==',')cnt++;   //если встретился знак ',' увеличиваем счетчик
       buffer[m]=buf[j];       //заносим первое предложение в buffer
      }
     buffer[m]='\0';
     if(0==cnt)           //если знак ',' не встретился
      {
       cout<<buffer;      //выводим предложение
       cout<<endl;
      }
     cnt=0;              //обнуляем счетчик
     n=j+1;              //увеличение позиции текущего предложения
    }
   i++;             //увеличение счетчика для просмотра массива
  }
fin.close();        //оператор закрытия файла
getch();
return 0;
}
//---------------------------------------------------------------------------
char bufrus[256];
char *rus(const char *text)
 {
  CharToOem(text,bufrus);
  return bufrus;
 }
//---------------------------------------------------------------------------

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

Результат работы программы:

Результат работы. Шестой вариант. Строки и файлы

Вариант 5
Вариант 7
error: Content is protected !!
Adblock
detector