Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 1
Регистрация: 12.01.2014
Сообщений: 48
1

Обработчик текстовых файлов

12.10.2014, 16:19. Просмотров 723. Ответов 6
Метки нет (Все метки)


Добрый день,прошу помощи в этом нелегком(для меня ) задании !
Написать программу-обработчик текстовых файлов, создающую текстовый файл, в который записываются только слова файла-источника, состоящие из символов равного значению введенного пользователем. Исходный текст построчно вводится пользователем с клавиатуры. Признаком завершения ввода текста является ввод пустой строки.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.10.2014, 16:19
Ответы с готовыми решениями:

Обработка текстовых файлов
Я написал программу, которая выводит с файла допустим dfgdfg dfgdfg dfgdfg dfgdfg dfgdfg...

Копирование текстовых файлов
Столкнулся с такой проблемой : при копировании из одного файла в другой мне нужно...

Конкатенация текстовых файлов
Подскажите примерно как действовать. Нужно соединить данные(строки)из 2ух текстовых файлов и...

Обработка текстовых файлов
Помогите написать программу для заданного файла удалить все строки, яки начинаются с "*"....

6
706 / 697 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
12.10.2014, 17:41 2
Цитата Сообщение от HON3Y Посмотреть сообщение
состоящие из символов равного значению введенного пользователем
Не совсем понял, что это значит.

То есть, вы пишите путь, программа создает по этому пути файл, и предлагает вам написать текст построчно. Вы пишите, как только пишите пустую строку - программа сохраняет все вами написанное в файл. Так ,или еще что-то нужно?
0
0 / 0 / 1
Регистрация: 12.01.2014
Сообщений: 48
12.10.2014, 18:01  [ТС] 3
Нужно записать в файл только те слова,у которых кол-во букв равно кол-ву заданым пользователем.Если пользователь ввел 7,то нужно записать слово из 7 букв
0
706 / 697 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
12.10.2014, 19:06 4
То есть, я ввожу путь сохранения файла, потом число букв, и текст. И все слова, в которых число букв совпадет с заданным записываются в файл, другие пропускаются?
0
0 / 0 / 1
Регистрация: 12.01.2014
Сообщений: 48
12.10.2014, 19:37  [ТС] 5
да,все верно.

Добавлено через 2 минуты
ну вводить путь сохранения файла необязательно,в папке с проектом достаточно сохранить
0
706 / 697 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
13.10.2014, 19:25 6
Что-то мысли вообще не идут. Вот что написал. Если еще что-нибудь придумаю - напишу.
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
#include <iostream>
#include <fstream>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "rus");
    ofstream F;
    cout << "Введите путь к файлу: ";
    char path[256];
    cin >> path;
    cin.sync();
 
    cout << "Введите ограничение по символам: ";
    int k;
    cin >> k;
    cin.sync();
 
    F.open(path);
    if (F)
    {
        cout << "Введите текст построчно..." << endl;
        string str;
        do
        {       
            scanf("%[a-zA-Z .,?!'\n]", str);
            cin.sync();
            //Тут чт-то вообще не думается
            if (str != "") //При вводе пустой строки переменная str не изменяется. Не знаю, как сделать, что бы изменялась.
                F << str;
            else
                break;
        } while (true);
        F.close();
        return 1;
    }
    cout << "Ошибка!";
    cin.sync();
    return 0;
}
Добавлено через 20 часов 38 минут
В C# я бы сделал отсев слов регулярными выражениями. Но как пользоваться ими в C++ я пока не знаю - буду пробовать.

Добавлено через 2 часа 1 минуту
Вот, но прекращает запись при вводе "zero" - как сделать по пустой строке - не допираю. При нажатии Enter из потока ничего не записывается в переменную.
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
#include <iostream>
#include <fstream>
#include <string>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "rus");
    ofstream F;
    cout << "Введите путь к файлу: ";
    char path[256];
    cin >> path;
    cin.sync();
 
    cout << "Введите ограничение по символам: ";
    int k;
    cin >> k;
    cin.sync();
 
    F.open(path);
    if (F)
    {
        cout << "Введите текст построчно..." << endl;
        string str;
        do
        {
            cin >> str;
            cout << str.length();
            if (str.length() == k)
                F << str << ' ';
        } while (str != "zero");
        F.close();
        return 1;
    }
    cout << "Ошибка!";
    cin.sync();
    return 0;
}
0
2226 / 1729 / 865
Регистрация: 21.12.2010
Сообщений: 3,073
Записей в блоге: 11
13.10.2014, 22:15 7
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
#include <iostream>
#include <string>
#include <fstream>
#include <sstream>
 
int main()
{
    size_t len;
    (std::cin >> len).sync();
    std::string str;
    str.reserve(20);
    std::ofstream ofs("out.txt");
    if(ofs.is_open())
    {
        std::istringstream iss;
        for(std::getline(std::cin, str); !str.empty(); std::getline(std::cin, str))
        {
 
            for(iss.str(str); iss >> str; )
            {
                if(str.size() == len)
                    ofs << str << '\n';
            }
            iss.clear();
        }
        ofs.close();
    }
    else
        std::cerr << "Unable to open output file\n";
    return 0;
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.10.2014, 22:15

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Конкатенация текстовых файлов
Доброго времени суток. Нужно объединить заданное количество текстовых файлов. Результат слияния...

С использованием текстовых файлов
помогите первокурснице..... Файл содержит целые числа. Вычислить сумму значений из файла, в...

Обработка текстовых файлов
Помогите, пожалуйста, создать программу для записи данных в текстовий файл и чтение с него. Запись...

Перекодировка текстовых файлов
Всем привет. По курсовому проекту возник вопрос. Я попытался сначала сделать на Delphi, всё...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.