Помогите, пожалуйста с доработкой программы. Написала все, что смогла, остальное не могу продумать уже несколько дней. Нужно реализовать программу: Имеется текст, разделенный на абзацы.Отформатировать его по 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;
}
        