Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2021, 11:16   #1
wqerty11
Пользователь
 
Регистрация: 24.11.2021
Сообщений: 24
Печаль Из файла удалить все цифры и удвоить знаки «+» и «-» С++

Задан текстовый файл. Сформировать файл f2, в котором будет находиться текст из первого файла, в котором удалены все цифры и удвоены знаки «+» и «-».

Есть код программы, но её нужно выполнить используя классы. Буду благодарен за помощь.

Код:
#include <iostream>
#include <fstream>
#include <Windows.h>
#include <string>
 
using namespace std;
 
 
int main(int argc, char** argv)
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    ifstream read("read.txt");
    ofstream zap("zap.txt");
 
    string buffer;
 
    while (getline(read, buffer))
    {
        for (int i = 0; i < buffer.length(); i++)
        {
            if (!isdigit((unsigned char)buffer[i]))
            {
                if (buffer[i] == '+' || buffer[i] == '-')
                {
                    zap << buffer[i] << buffer[i];
                }
 
                else { zap << buffer[i]; }
            }
 
        }
        zap << endl;
    }
 
 
    cout << "Результат в файле zap.txt " << endl;
    read.close();
    zap.close();
 
 
    return 0;
}
wqerty11 вне форума Ответить с цитированием
Старый 07.12.2021, 20:05   #2
maradguz
Новичок
Джуниор
 
Регистрация: 07.12.2021
Сообщений: 1
По умолчанию

Цитата:
Сообщение от wqerty11 Посмотреть сообщение
Задан текстовый файл. Сформировать файл f2, в котором будет находиться текст из первого файла, в котором удалены все цифры и удвоены знаки «+» и «-».

Есть код программы, но её нужно выполнить используя классы. Буду благодарен за помощь.

Код:
#include <iostream>
#include <fstream>
#include <Windows.h>
#include <string>
 
using namespace std;
 
 
int main(int argc, char** argv)
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    ifstream read("read.txt");
    ofstream zap("zap.txt");
 
    string buffer;
 
    while (getline(read, buffer))
    {
        for (int i = 0; i < buffer.length(); i++)
        {
            if (!isdigit((unsigned char)buffer[i]))
            {
                if (buffer[i] == '+' || buffer[i] == '-')
                {
                    zap << buffer[i] << buffer[i];
                }
 
                else { zap << buffer[i]; }
            }
 
        }
        zap << endl;
    }
 
 
    cout << "Результат в файле zap.txt " << endl;
    read.close();
    zap.close();
 
 
    return 0;
}
Мне тоже нужна помощь в создании кода используя классы, прощу помочь.
maradguz вне форума Ответить с цитированием
Старый 09.12.2021, 12:09   #3
wqerty11
Пользователь
 
Регистрация: 24.11.2021
Сообщений: 24
По умолчанию

maradguz, Держи.
Код:
#include <iostream>
#include <fstream>
//#include <Windows.h>
#include <string>
 
using namespace std;
 
class foo{
    ifstream fin;
    ofstream fout;
    string buffer;
    string filename;
public:
    foo(): filename("read.txt"){}
    foo(string _filename): filename(_filename){}
    void bar() {
        fin.open(filename);
        fout.open("zap.txt");
        if (!fin || !fout) throw "failed to open file(s)";
 
        while (getline(fin, buffer))
        {
            for (int i = 0; i < buffer.length(); i++)
            {
                if (!isdigit((unsigned char)buffer[i]))
                {
                    if (buffer[i] == '+' || buffer[i] == '-')
                    {
                        fout << buffer[i] << buffer[i];
                    }
     
                    else { fout << buffer[i]; }
                }
     
            }
            fout << endl;
        }
        cout << "Результат в файле zap.txt " << endl;
        fin.close();
        fout.close();
    }
};
 
int main(int argc, char** argv)
{
    //SetConsoleCP(1251);
    //SetConsoleOutputCP(1251);
    foo myfoo(string("read.txt"));
    myfoo.bar();
    return 0;
}
wqerty11 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удалить все, что после определенной цифры ЛАРИСА69 Microsoft Office Excel 7 24.02.2020 14:21
Удалить из записи числа все вхождения последней цифры Анатолий666 Общие вопросы C/C++ 1 16.09.2015 18:31
Из строки удалить все цифры. Shnurik_sh Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 24.11.2010 01:17
Дана строка символов. Задача: удалить из строки все цифры. Striker14 Помощь студентам 1 25.02.2009 20:23