Помогите, пожалуйста с доработкой программы. Написала все, что смогла, остальное не могу продумать уже несколько дней. Нужно реализовать программу: Имеется текст, разделенный на абзацы.Отформатировать его по k символов в строке,выравнивая строки на правый и левый края и сохраняя деление на абзацы.
#include <iostream>
#include <cstdio>
#include <string> // для getline
#include <fstream> // подключаем библиотеку для чтения из файла
using namespace std;
int OutputText(char* filename);
int FormatText(char* filename);
int OutFormatText(char* filename);
int OutputText(char* filename)
{
std::string line;
ifstream file; // создаем объект класса ifstream
file.open("C:\\Users\\User\\source\\repos\\kr\\text.txt", ios::in); //открываем файл
if (file) //проверка на открытие файла
{
while (!file.eof()) //пока не конец файла, считываем текст
{
while (getline(file, line))
std::cout <<line << std::endl;
cout << "\n";
}
file.close(); //закрываем файл
}
else cout << "File not open!\n\n" << endl;
system("pause");
return 0;
}
int FormatText(char* filename)
{
//считываем из файла текст в массив
/*const int len = 255; const int strings = 22;//макс длина строк и количества строк
const char ch = '\n';//разделяющий символ
char mass[len][strings];//масив символов
ifstream file("C:\\Users\\User\\source\\repos\\kr\\text.txt", ios::in | ios::binary); //открываем файл для чтения
//открылся ли файл
if (!file)
return 1;
for (int r = 0; r < strings; r++)
{
file.getline(mass[r], len - 1, ch); //считываем строки в массив
}
file.close();
//должна быть программа форматирования
cout << "End programming\n" << endl;
return 0;
}
int OutFormatText(char* filename)
{
std::string line;
ifstream file2; // создаем объект класса ifstream
file2.open("C:\\Users\\User\\source\\repos\\kr\\text2.txt", ios::in); //открываем файл
if (file2) //проверка на открытие файла
{
while (!file2.eof()) //пока не конец файла, считываем текст
{
while (getline(file2, line))
std::cout << line << std::endl;
cout << "\n";
}
file2.close(); //закрываем файл
}
else cout << "File not open!\n\n" << endl;
system("pause");
return 0;
}
int main()
{
int input; char fname[255];
do {
cout << "Select an option\n" << endl;
cout << "1.Input text the display\n"
<< "2.Text formatting\n"
<< "3.Converting text\n"
<< "4.Exit\n" << endl;
cout << "Selection: ";
cin >> input;
getchar();
switch (input)
{
case 1:
system("cls");
OutputText(fname);
break;
case 2:
system("cls");
FormatText(fname);
break;
case 3:
system("cls");
OutFormatText(fname);
break;
case 0:
cout << "Goodbay!" << endl;
break;
default:
cout << "Error\n";
break;
}
} while (input != 0);
cout << endl;
return 0;
}