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