Вариант 14

Написать программу, которая считывает текст из файла и выводит его на экран, заменив цифры от 0 до 9 на слова «ноль», «один», …, «девять», начиная каждое предложение с новой строки.

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

//---------------------------------------------------------------------------
#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 байтов для хранения текста из файла
 fin.seekg(0,ios::beg);//переносимся опять на начало файла для чтения
 fin.read(buf,len);    //проводим чтение из файла
 buf[len]='\0';
 long n=0,i=0,j=0;    //объявление переменных для работы с текстом
 while(buf[i])                  //просмотр файла
  {
   if(buf[i]=='.'||buf[i]=='?'||buf[i]=='!')
    {
     for(j=n;j<=i;j++)
     switch(buf[j])            //переключатель
      {
       case '1':cout<<"odin";break; //если встретилась цифра
       case '2':cout<<"dva";break;       //заменяем на слово
       case '3':cout<<"tri";break;
       case '4':cout<<"chetire";break;
       case '5':cout<<"pyat";break;
       case '6':cout<<"shest";break;
       case '7':cout<<"sem";break;
       case '8':cout<<"vosem";break;
       case '9':cout<<"devyat";break;
       case '0':cout<<"noll";break;
       default:cout<<buf[j];//если нет цифр выводим по умолчанию текст из файла
      }
     cout<<endl;
     n=i+1;
    }
   i++;
  }
 fin.close();    //оператор закрытия файла
 getch();
 return 0;
}
//---------------------------------------------------------------------------
char bufrus[256];
char *rus(const char *text)
 {
  CharToOem(text, bufrus);
  return bufrus;
 }
//---------------------------------------------------------------------------

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

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

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

Вариант 13
Вариант 15
error: Content is protected !!
Adblock
detector