0 / 0 / 0
Регистрация: 12.09.2012
Сообщений: 30
1

Работа с файловыми потоками. Выполнить проверку в готовом коде на верхний регистр

10.06.2014, 19:10. Показов 1281. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хотел бы обратиться к аудитории этого сайта с данной проблемой-в программе, которую я написал, не выполняется одно условие-не проверяется заглавная буква(а так как рассматривается литературное произведение, заглавные буквы обязательны). Так вот, я не могу понять, как бы это сделать. Есть идеи копировать строчку, привести её в нижний регистр, проверить и на выходе уже восстановить все регистры.


Вот собственно задача:
Входной текстовый файл содержит отрывок литературного произведения. Необходимо сформировать выходной файл по следующему принципу: после каждого слова w1 входного файла необходимо через пробел вставить слово w2, оставив весь остальной текст без изменения. Данные слова можно вводить с клавиатуры.

Вот код программы:
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 <fstream>
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    ifstream inp("input.txt");
    ofstream out("output.txt");
    string s, w1, w2;
    cout << "Enter word 1: ";
    cin >> w1;
    cout << "Enter word 2: ";
    cin >> w2;
    w1.insert(0, " "); //пробел перед w1
    int n = w1.size();
    unsigned int pos = 0;
    do
    {
        getline(inp, s);
        s.append(" "); //пробел в начало и конец s
        s.insert(0, " ");
        int slength = s.length();
        while (pos < s.length()) //пока не конец s, ищет w1
        {
            pos = s.find(w1, pos);
            if (pos != string::npos)
            {
                s.insert(pos+n, " "+w2);
                pos++;
            }
        }
        pos = 0;
        s.erase(0, 1); //удаляет пробел перед s
        out << s << endl;
    }
    while(!inp.eof());
    cout << "see results in output file" << endl;
    return 0;
}


Большая просьба-если у вас есть идеи по реализации проверки верхнего регистра, записать это в код. Потому что мозги уже, к сожалению, не варят...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.06.2014, 19:10
Ответы с готовыми решениями:

Работа с файловыми потоками
Подскажите. Мне нужно считывать из файла базу данных. Первый элемент каждой строки эта фамилия....

Работа с файловыми потоками
Принцип работы проги: Открывается окно с ListView (Без чекбоксов и мультивыделения), в который...

Работа с файловыми потоками
Получилось по заданию примерно как то так:Постановка задачи Входные данные: текстовый файл,...

Работа с файловыми потоками
Доброго времени суток! Мне нужно из Данного числового файла f. Выбрать все значения, которые...

3
176 / 144 / 70
Регистрация: 01.05.2012
Сообщений: 414
10.06.2014, 19:38 2
beathoven, ну на сколько я понял, нужно сравнивать строки без учета регистра. Ну самое простое преобразовать обе к одному регистру и сравнить.
0
0 / 0 / 0
Регистрация: 12.09.2012
Сообщений: 30
10.06.2014, 20:48  [ТС] 3
Цитата Сообщение от _script_ Посмотреть сообщение
beathoven, ну на сколько я понял, нужно сравнивать строки без учета регистра. Ну самое простое преобразовать обе к одному регистру и сравнить.
Цитата Сообщение от _script_ Посмотреть сообщение
ну на сколько я понял, нужно сравнивать строки без учета регистра. Ну самое простое преобразовать обе к одному регистру и сравнить.
Вот смотри, что получается:
Мы, допустим, вводим фразу "Abs efgl abs sefl abs". Хотим, чтобы после "abs" у нас вставилось "asdf". Но на выходе у нас получается "Abs efgl abs asdf sefl abs asdf". Вот нужно что-то сделать с "Abs", а что, я ума не приложу, ей Богу.
0
176 / 144 / 70
Регистрация: 01.05.2012
Сообщений: 414
10.06.2014, 21:09 4
beathoven, tolower преобразовывает в нижний регистр
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.06.2014, 21:09
Помогаю со студенческими работами здесь

Работа с файловыми потоками
Доброго времени суток! Мне нужно из Данного числового файла f. Выбрать все значения, которые...

Работа с файловыми потоками в С++.
Помогите разобратсья в программе: Дан символьный файл f. Подсчитать число вхождений в файл каждой...

Правильная работа с файловыми потоками
Всем доброе время) Я столкнулся с проблемой - препод требует от меня правильного закрытия...

WinApi и работа с альтернативными файловыми потоками
Доброго времени суток. Пытаюсь разобраться с работой альтернативных файловых потоков в NTFS. Как...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru