Witam robie sobie zadanie z tego : https://warosu.org/data/g/img/0441/94/1410874830625.png
zadanie 4 encrypt/decrypt algorithm
Nie jest tu dużo powiedziane jak to zrobić więc ja chce zrobić to mniej więcej tak,że w programie wybieram czy chce zaszyfrować plik czy go odszyfrować.
I utknąłem troche na szyfrowaniu,bo nie wiem czy da się tak zrobić,że pobieram zmienną ,dodaje do stringa np 3 i zapisuje to.
Zrobiłem funkcje szyfrowania tak:

 void szyfr(const std::string &xd)
{
    std::string x;
    std::string y;
    std::fstream zapis;
    zapis.open(xd);
    if (!zapis.good())
    {
        std::cout << "Blad\n";
        return;
    }
    else
    {
        while (!zapis.eof())
        {
            zapis >> x;
                for (int i = 0; i < x.length(); ++i)
                {
                    x[i] = x[i] + 3;
                }
            zapis << x;
        }

    }
    zapis.close();

}

I moje pytanie czy da się to zrobić tak prosto?Bo z tego co wiem to pobieram te dane strumieniem i po pierwszym pobraniu pobieram zmienna i wskaźnik na pliku przechodzi do drugiego wyrazu tak?Dlatego ta funkcja wykonuje się cały czas bo ciągle przechodze do kolejnego wyrazu,a nie,że pobieram pierwszy zmieniam go zapisuje i przechodze do kolejnego tak?
Czy musze zrobić drugi plik do zaszyfrowanych danych?Czy może zrobić dynamiczną tablice na tekst pobrać cały plik i potem go zmieniać i zapisać?
Fajnie by było jakby to się dało zrobić w jednym kroku

I drugie pytanie czy patrząc na te zadania uważacie,że wybrałem dobry poziom trudności wykonania?Bo nie ma tutaj zbytnio instrukcji jaki ma być ten program,więc założyłem,że działanie na plikach i proste szyfrowanie będzie dobre.Widze,że poziom trudności potem rośnie a to mają być ćwiczenia do treningu także wydaje mi się,że sobie nawet troche utrudniłem zadanie.