Слова сформированные из первых букв слов каждой строки файла
Имеется текстовый файл. Сформировать новый файл, содержащий слова, сформированные из первых букв слов каждой строки исходного файла. Результат работы программы (вывод) поместить в отдельный текстовый файл (например, out.txt ), продублировав на экране.
Исходный файл original.txt содержит следующий текст:
/* веб-сайт: cppstudio.com, программирование на С++
раздел помогите написать программу
форум программистов на С++
исходный код программ на С++
руководство для начинающих программистов на С++ */
Таким образом программа должна открыть данный файл и сформировать слова из него. Количество слов равно количеству строк в исходном файле. То есть из одной строки должно получиться одно слово. Слово формируется из первых букв каждого слова в строке.
// files.cpp: определяет точку входа для консольного приложения.
#include "stdafx.h"
#include <iostream>
#include <fstream> //заголовочный файл для работы с файлами
using namespace std;
int main(int argc, char* argv[])
{
setlocale(LC_ALL, "rus"); // корректное отображение Кириллицы
ifstream fin("original.txt"); // открыли файл для чтения
ofstream fout("out.txt"); // создаём файл для записи
if (!fin.is_open()) // если файл не открыт
cout << "Файл не может быть открыт!\n"; // сообщить об этом
else // в случае успешного открытия файла
{
int symbol; // переменная для временного хранения считываемых символов из файла
bool space = false; // переменная флаг, для определения начала слова
while ( !fin.eof()) // пока не конец файла
{
symbol = fin.get(); // считать символ из файла и сохранить в symbol
if (symbol != ' ') // если считанный символ не пробел
space = true;
while (symbol != '\n' && !fin.eof()) // пока не конец строки и не конец файла
{
if (symbol != ' ' && space) // если считанный символ не пробел и флаг равен true
{
fout << (char)symbol; // запись в файл out.txt
cout << (char)symbol; // вывод на экран
space = false;
}
else
if (symbol == ' ') // если считанный символ - пробел
space = true; // разрешить записать символ в файл
symbol = fin.get();// считать символ из файла и сохранить в symbol
}
fout << " "; // запись в файл символов пробела
cout << " "; // вывод на экран
}
fin.close(); // закрыть файл original.txt
fout.close(); // закрыть файл out.txt
}
cout << endl;
system("pause");
return 0;
}
В случае если программа не сможет открыть исходный файл original.txt, на экране появится соответствующее сообщение. Если же исходный файл будет успешно открыт, то программа начнёт посимвольно считывать информацию из файла до тех пор, пока не будет достигнут конец исходного файла original.txt. Переменная-флаг spac контролирует отбор символов, то есть если следующий символ, после пробела не является пробелом, то он является первым символом слова. Именно таким образом определяются первые символы слов. Сформированные слова сохраняются в текстовый файл out.txt.
Комментарии:
Нету комментариев для вывода...