Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 08.03.2017
Сообщений: 11

Разбиение текста для записи в несколько файлов

09.03.2017, 14:17. Показов 964. Ответов 1

Студворк — интернет-сервис помощи студентам
Здравствуйте уважаемые форумчане. Я еще только начинаю изучать С++. Надеюсь на вашу помощь.

В программе мне нужно реализовать следующий алгоритм: В диалоговом окне задается некое число N. N-это кол-во строк которые мы будем записывать в HTML файл. Если кол-во строк превосходит N-мы должны создать новый HTML файл. Причем, предложения разбивать нельзя. Если предложение уже заходит за N -мы должны всё это предложение записать уже в новом HTML файле.

Слова для записи в HTML я получаю из файла TEXT (а если слова из файла TEXT также есть в файле DICTIONARY, то в HTML файл я записываю это слово жирно-курсивным шрифтом)

Это класс для создания,закрытия, записи в HTML
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
class HTML_file
{
public:
 
    ofstream create_file(string name_of_file, string s)
    {
        name_of_file = name_of_file + s + ".html";
 
        ofstream file = ofstream(name_of_file);
        
        file << "<html> <body>";
 
        return file;
    }
 
    ofstream open_file(string name_of_file)
    {
        ofstream file = ofstream (name_of_file);
 
        return file;
    }
    void close_file(ofstream file)
    {
        file << "</body></html> ";
        file.close();
    }
    
    void filing_usual_word(ofstream file ,char word)
    {
        file << word << " ";
    }
    
    void filing_special_word(ofstream file, char word)
    {
        file << "<b><i>" << word << "</b></i>" << " ";
    }
};
А это кусок программы, в котором я записываю слова в HTML файл
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
while (!text.eof())
    {
        text >> words_keeper;
        for (int counter = 0; counter < number_of_words; counter++)
        {
            if (change_the_string(Array_of_words[counter], words_keeper)) //тут я проверяю есть ли слово из TEXT в файле DICTIONARY
            {
                HTML << "<b><i>" << words_keeper << "</b></i>" << " ";  break;
            }
 
            if (counter + 1 == number_of_words) HTML << words_keeper << " "; //Если я не нашел слово из TEXT в DICTIONARY
 
        }
 
    }
 
    HTML.close();
    file.close_file(file.open_file("text.txt"));
 
 
    system("pause");
    return 0;
Помогите, пожалуйста с алгоритмом разбиения. Я пока могу только записать все в один файл.

Добавлено через 15 часов 36 минут
Изменил 1,9,12,18 строчку. Переделал под то как должно быть, а не как работает на данный момент.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
HTML_file HTML_FILE; //даем название для использование класса 
while (!text.eof())
    {
        text >> words_keeper;
        for (int counter = 0; counter < number_of_words; counter++)
        {
            if (change_the_string(Array_of_words[counter], words_keeper)) //тут я проверяю есть ли слово из TEXT в файле DICTIONARY
            {
              HTML_FILE.filing_special_word(HTML,words_keeper);  break;
            }
 
            if (counter + 1 == number_of_words)HTML_FILE.filing_special_word(HTML,words_keeper);  //Если я не нашел слово из TEXT в DICTIONARY
 
        }
 
    }
 
HTML_FILE.close_file(HTML); 
    file.close_file(file.open_file("text.txt"));
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.03.2017, 14:17
Ответы с готовыми решениями:

Разбиение DataContract на несколько файлов
Доброго времени суток. Вопрос может быть не совсем про вебсервисы, но на прямую вырос из него. В общем, прошу прощения за много букв, но...

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

Разбиение программы на несколько файлов
main.c: #include &quot;vector_int.h&quot; #include &lt;stdio.h&gt; int main() { IntVector vector; InitializeIntVector(&amp;vector); int...

1
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
09.03.2017, 14:36
Тебе нужно строками считывать и соединять их в одну, с поиском конца предложения, после записывать, учитывая параллельно сколько строк уже ушло в файл.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.03.2017, 14:36
Помогаю со студенческими работами здесь

Разбиение любых файлов на несколько частей
Есть ли, какая-нибудь функция с которой можно разбивать любые файлы по битам? Например, картинка размеров в 1 мегабайт, мне нужно ещё...

Excel: разбиение текста ячейки на несколько, если разделитель - цифры
Собственно вопрос в следующем: имеется ячейка с таким, примерно, текстом &quot;1. ххх. 2. ууу. 3. zzz. ... 15. aaa&quot;. Мне требуется...

Вставка текста в несколько файлов
Нужно вставить фрагмент (строку) текста в несколько файлов. Не могу понять, что не получается. Помогите, люди добрые Sub Insert() On...

Разбиение Caption на несколько строк для TButton, TBitBtn, TSpeedButton по аналогии с TToggleBox
Всем доброго дня. Необходимо сделать кнопку, которая может разбивать Caption на несколько строк, в зависимости от длины. Таким свойством в...

Загружать несколько файлов изображений и прикрепить к одной записи в базе
Всем привет! Кто-нибудь может подсказать скрипт или объяснить как прикрепить несколько файлов загруженных на сервер, а их имена в БД...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru