Вариант 13

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

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

//---------------------------------------------------------------------------
#include<iostream.h>
#include<conio.h>
#include<windows.h>
#include<fstream.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("Ошибка открытия файла.")<<endl; //выводим сообщение
   getch();
   return 1;
  }
 fin.seekg(0,ios::end);//определяем длину файла, перемещаемся на его конец
 long len=fin.tellg();  //получаем длину файла и заносим в переменную len
 char *buf=new char[len+1];//выделяем len+1 байтов
 char *word=new char[len+1]; // для хранения текста из файла
 fin.seekg(0,ios::beg);//переносимся опять на начало файла для чтения
 fin.read(buf,len);    //проводим чтение из файла
 buf[len]='\0';
 long i=0,j=0,k=0;    //объявление переменных для работы с текстом
//---------------------------------------------------------------------------
 while(buf[i])
  {
   j=i;
   if(isalpha(buf[j]))
    {
     while(!(ispunct(buf[j])||isspace(buf[j])||(buf[j]=='\0')))
      {
       word[k]=buf[j++];
       if(k==0)
       switch(word[k])
        {
         case 'a':word[k]='A';break;
         case 'e':word[k]='E';break;
         case 'j':word[k]='J';break;
         case 'y':word[k]='Y';break;
         case 'u':word[k]='U';break;
         case 'i':word[k]='I';break;
         case 'o':word[k]='O';break;
        }
       cout<<word[k];
       k++;
      }
     k=0;
     i=j;
    }
   cout<<buf[i];
   i++;
  }
 fin.close();    //оператор закрытия файла
 getch();
 return 0;
}
//---------------------------------------------------------------------------
char bufrus[256];
char *rus(const char *text)
 {
  CharToOem(text, bufrus);
  return bufrus;
 } 
//---------------------------------------------------------------------------

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

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

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

Вариант 12
Вариант 14
error: Content is protected !!
Adblock
detector