Форум программистов, компьютерный форум CyberForum.ru

Переписать содержимое файла А в файл В, перенося при этом в конец каждой строки все входящие в нее знаки препинания - C++

Восстановить пароль Регистрация
 
Bambaster01
0 / 0 / 0
Регистрация: 04.12.2013
Сообщений: 50
06.04.2014, 21:47     Переписать содержимое файла А в файл В, перенося при этом в конец каждой строки все входящие в нее знаки препинания #1
Дан текстовый файл А. Переписать его содержимое в файл В, перенося при этом в конец каждой строки все входящие в нее знаки препинания.
Не знаю, как сделать функцию для переноса знаков препинания в конец строки.... Подскажите кто может.
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
#include <StdAfx.h>
#include <fstream>
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
    setlocale(0, ""); 
    string str; 
    ifstream fin ("A.txt");
    ofstream fout ("B.txt"); 
 if (!fout.is_open())
 {
        cout << "Файл A не открыт!\n"; 
         system("pause");
         return 1;
    }
   
 if (!fin.is_open())
   {
        cout << "Файл B не открыт!\n"; 
         system("pause");
         return 1;
    }
    
    getline(fin, str);
         fin.close(); 
 
    fout << str;
       fout.close();
   
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2014, 21:47     Переписать содержимое файла А в файл В, перенося при этом в конец каждой строки все входящие в нее знаки препинания
Посмотрите здесь:

переписать содержимое текстового файла в другой текстовый файл,добавляя в начало каждой строки её порядковый номер(с++) C++
Содержимое текстового файла f, разделенное на строки, переписать в текстовый файл g C++
Текстовые файлы. Переписать в файл g все знаки препинания файла f. C++
C++ Вычеркните из строки все знаки препинания (с++)
C++ Дан текстовый файл. Переписать компоненты файла в другой файл, заменив при этом каждое сочетание букв “no” на “on”
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
07.04.2014, 04:31     Переписать содержимое файла А в файл В, перенося при этом в конец каждой строки все входящие в нее знаки препинания #2
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
38
39
40
41
42
43
44
45
46
47
#include <StdAfx.h>
#include <fstream>
#include <iostream>
#include <cctype>
#include <string>
 
using namespace std;
 
int main()
{
    setlocale(0, ""); 
   
    ifstream fin ("A.txt");
    ofstream fout ("B.txt"); 
    if (!fout.is_open())
    {
        cout << "Файл A не открыт!\n"; 
        system("pause");
        return 1;
    }
   
    if (!fin.is_open())
    {
        cout << "Файл B не открыт!\n"; 
        system("pause");
        return 1;
    }
    
    char ch;
    string punct;
    while (fin.get(ch))
    {
        if (ispunct((unsigned char)ch))
            punct += ch;
        else if (ch == '\n')
        {
            fout << punct << ch;
        }
        else
            fout.put(ch);
    }
    fin.close(); 
    fout.close();
   
    system("pause");
    return 0;
}
Bambaster01
0 / 0 / 0
Регистрация: 04.12.2013
Сообщений: 50
07.04.2014, 21:30  [ТС]     Переписать содержимое файла А в файл В, перенося при этом в конец каждой строки все входящие в нее знаки препинания #3
alsav22, Спасибо на помощь, но он просто удаляет их)
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
07.04.2014, 21:35     Переписать содержимое файла А в файл В, перенося при этом в конец каждой строки все входящие в нее знаки препинания #4
Цитата Сообщение от Bambaster01 Посмотреть сообщение
но он просто удаляет их)
Сказки не рассказывайте.
Bambaster01
0 / 0 / 0
Регистрация: 04.12.2013
Сообщений: 50
07.04.2014, 21:37  [ТС]     Переписать содержимое файла А в файл В, перенося при этом в конец каждой строки все входящие в нее знаки препинания #5
alsav22, После компиляции в текстовом файле B остается текст без знаков препинания)
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
07.04.2014, 21:47     Переписать содержимое файла А в файл В, перенося при этом в конец каждой строки все входящие в нее знаки препинания #6
Цитата Сообщение от Bambaster01 Посмотреть сообщение
После компиляции в текстовом файле B остается текст без знаков препинания)
Сказки не рассказывайте.
Единственное, что нужно добавить - это очистку строки со знаками пуктуации, после записи очередной строки (после fout << punct << ch, добавить: punct.clear()).
Добавим в код вывод содержимого файлов на консоль:
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <StdAfx.h>
#include <fstream>
#include <iostream>
#include <cctype>
#include <string>
 
using namespace std;
 
int main()
{
    setlocale(0, ""); 
   
    ifstream fin ("A.txt");
    ofstream fout ("B.txt"); 
    if (!fout.is_open())
    {
        cout << "Файл A не открыт!\n"; 
        system("pause");
        return 1;
    }
   
    if (!fin.is_open())
    {
        cout << "Файл B не открыт!\n"; 
        system("pause");
        return 1;
    }
    
    char ch;
    string punct;
    while (fin.get(ch))
    {
        cout << ch;
        if (ispunct((unsigned char)ch))
            punct += ch;
        else if (ch == '\n')
        {
            fout << punct << ch;
            punct.clear();
        }
        else
            fout.put(ch);
    }
    fin.close(); 
    fout.close();
 
    fin.open("B.txt");
    if (!fin.is_open())
    {
        cout << "Файл B не открыт!\n"; 
        system("pause");
        return 1;
    }
    
    cout << endl << endl;
    cout << fin.rdbuf();
 
    fin.close();
    
    system("pause");
    return 0;
}
Миниатюры
Переписать содержимое файла А в файл В, перенося при этом в конец каждой строки все входящие в нее знаки препинания  
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
07.04.2014, 21:50     Переписать содержимое файла А в файл В, перенося при этом в конец каждой строки все входящие в нее знаки препинания #7
Кажется понял, о чём пишите... В задании написано:
Цитата Сообщение от Bambaster01 Посмотреть сообщение
перенося при этом в конец каждой строки все входящие в нее знаки препинания.
Перенося, а не копируя. Или не так?
Bambaster01
0 / 0 / 0
Регистрация: 04.12.2013
Сообщений: 50
07.04.2014, 22:07  [ТС]     Переписать содержимое файла А в файл В, перенося при этом в конец каждой строки все входящие в нее знаки препинания #8
Просто у меня даже после компиляции, даже в самой программе не пишет знаков препинания.

Добавлено через 6 минут
alsav22, Смысл такой, что нужно из текста, если есть, убрать в конец строки все знаки препинания. Удаляя при этом те знаки которые находятся в тексте.

Добавлено через 1 минуту
alsav22, У вас все верно, но у меня почему-то он не записывает их в файл и не выводит в самой программе после компиляции.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
07.04.2014, 22:23     Переписать содержимое файла А в файл В, перенося при этом в конец каждой строки все входящие в нее знаки препинания #9
Цитата Сообщение от Bambaster01 Посмотреть сообщение
но у меня почему-то он не записывает их в файл и не выводит в самой программе после компиляции.
Файл A.txt в папке проекта? Содержимое этого файла покажите. Сделайте очистить и перестроить (без запуска).
Bambaster01
0 / 0 / 0
Регистрация: 04.12.2013
Сообщений: 50
07.04.2014, 22:29  [ТС]     Переписать содержимое файла А в файл В, перенося при этом в конец каждой строки все входящие в нее знаки препинания #10
Не будь он в папке он бы у меня не открылся. Содержимое: hbfghgf,gh,hyjg,hgj,.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
07.04.2014, 22:37     Переписать содержимое файла А в файл В, перенося при этом в конец каждой строки все входящие в нее знаки препинания #11
???
Цитата Сообщение от alsav22 Посмотреть сообщение
Сделайте очистить и перестроить (без запуска).
Bambaster01
0 / 0 / 0
Регистрация: 04.12.2013
Сообщений: 50
07.04.2014, 22:39  [ТС]     Переписать содержимое файла А в файл В, перенося при этом в конец каждой строки все входящие в нее знаки препинания #12
alsav22, Сейчас заработало. Я закрепил файлы в проекте и добавил еще 1 строку. Но если я добовляю еще строки, то он увеличивает количество выводимых символов в 2 раза. И в последней строке он не выводит символы.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
07.04.2014, 22:46     Переписать содержимое файла А в файл В, перенося при этом в конец каждой строки все входящие в нее знаки препинания #13
Код из какого поста пробуете?

Добавлено через 1 минуту
Код показывайте.
Bambaster01
0 / 0 / 0
Регистрация: 04.12.2013
Сообщений: 50
07.04.2014, 22:48  [ТС]     Переписать содержимое файла А в файл В, перенося при этом в конец каждой строки все входящие в нее знаки препинания #14
alsav22,
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
38
39
40
41
42
43
44
45
46
47
#include <StdAfx.h>
#include <fstream>
#include <iostream>
#include <cctype>
#include <string>
 
using namespace std;
 
int main()
{
    setlocale(0, ""); 
   
    ifstream fin ("A.txt");
    ofstream fout ("B.txt"); 
    if (!fout.is_open())
    {
        cout << "Файл A не открыт!\n"; 
        system("pause");
        return 1;
    }
   
    if (!fin.is_open())
    {
        cout << "Файл B не открыт!\n"; 
        system("pause");
        return 1;
    }
    
    char ch;
    string punct;
    while (fin.get(ch))
    {
        if (ispunct((unsigned char)ch))
            punct += ch;
        else if (ch =='\n')
        {
            fout << punct << ch;
        }
        else
            fout.put(ch);
    }
    fin.close(); 
    fout.close();
   
    system("pause");
    return 0;
}
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
07.04.2014, 23:01     Переписать содержимое файла А в файл В, перенося при этом в конец каждой строки все входящие в нее знаки препинания #15
Вы внимательно читаете, что вам пишут? Почитайте 6-й пост.

Добавлено через 1 минуту
Цитата Сообщение от Bambaster01 Посмотреть сообщение
И в последней строке он не выводит символы.
Перевод строки, в конце последней строки, сделайте.

Добавлено через 9 минут
Цитата Сообщение от alsav22 Посмотреть сообщение
Перевод строки, в конце последней строки, сделайте.
Или цикл чтения так измените:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    while (true)
    {
        fin.get(ch);
        if (!fin.eof())
        {
            cout << ch;
            if (ispunct((unsigned char)ch))
                punct += ch;
            else if (ch == '\n')
            {
                fout << punct << ch;
                punct.clear();
            }
            else
                fout.put(ch);
        }
        else
        {
            fout << punct;
            break;
        }
    }
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2014, 23:03     Переписать содержимое файла А в файл В, перенося при этом в конец каждой строки все входящие в нее знаки препинания
Еще ссылки по теме:

C++ Обработать исходный файл и определить число каждого из символов (при этом регистр букв не учитывать, а цифры, знаки препинания и пробелы учитывать)
C++ Дан текстовый файл. Перепишите его в выходной файл, удалив все знаки препинания
C++ Перенести все цифры в конец строки, при этом порядок букв не меняется

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

Или воспользуйтесь поиском по форуму:
Bambaster01
0 / 0 / 0
Регистрация: 04.12.2013
Сообщений: 50
07.04.2014, 23:03  [ТС]     Переписать содержимое файла А в файл В, перенося при этом в конец каждой строки все входящие в нее знаки препинания #16
alsav22, Спасибо все заработало) Большое спасибо за то, что потратили свое время)
Yandex
Объявления
07.04.2014, 23:03     Переписать содержимое файла А в файл В, перенося при этом в конец каждой строки все входящие в нее знаки препинания
Ответ Создать тему
Опции темы

Текущее время: 00:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru