Nie wiem, czy dobrze rozumiem zasadę działania szyfru Cezara. Czy wystarczy tylko to (szyfrowanie):
for(int i=0; i<plaintext.length(); i++)
std::cout << (char)(((int)plaintext[i])+3) << "\n";
i to:
for(int i=0; i<plaintext.length(); i++)
std::cout << (char)(((int)ciphertext[i])-3) << "\n";
na deszyfrowanie? oczywiście najpierw zamieniam wszystkie na duże/małe litery