Jest takie zadanie ze strony spoj.pl , które wymaga od nas zakodzenia programu który będzie szyfrował tekst konkretnym szyfrem – Szyfr cezara.

Polega on na zamianie liter o 3, czyli a=c  itd.
Program poniżej , jest bardziej uniwersalny nie tylko szyfruje – szyfrem cezara ale także innymi szyframi które mu zadamy. Możemy sami ustawić przesunięcie , w szyfrze cezara = 3, w naszym szyfrze może być to 4 ..

Jest zrobiony na tablicy liter ASCII, ponieważ każda litera jest zaprezentowana w ów kodzie zadanie można dość prosto rozwiązać.

#include<iostream>
using namespace std;
 
void szyfruj(char tekst[], int klucz)
{
     int i = 0;
     klucz = klucz%26; // reszta z dzielenia wartosci wpisanego klucza(przesuniecie znaku o całkowitą wielokrotność liczby 26)..
     while(tekst[i]!='\0')
     {
                   if((int)tekst[i]>122-klucz) // ograniczenie aby nie wyjść poza zakres alfabetu
                   tekst[i]=(char)((int)tekst[i]+klucz-26);
                   else
                   tekst[i] =(char)((int)tekst[i]+klucz);
                   i++;
                   }
                   }
void deszyfruj(char tekst[], int klucz)
{
     int i = 0;
     klucz = klucz%26;
     while (tekst[i]!='\0')
     {
           if((int)tekst[i]-klucz<97)
           tekst[i] = (char)((int)tekst[i]-klucz);
           else
           tekst[i]=(char)((int)tekst[i]-klucz);
           i++;
           }
           }
int main() {
    char a[50];
    int klucz;
    cout<<"Podaj klucz(dla szyfru CEZARA WPISZ 3 )";
    cin>>klucz;
    cout<<"Tekst do zaszyfrowania:";
    cin>>a;
    cout<<"Tekst zaszyfrowany";
    szyfruj(a,klucz);
    cout<<a<<endl;
    cout<<"Tekst odszyfrowany:  ";
    deszyfruj(a,klucz);
    cout<<a<<endl;
    system("PAUSE");
 
    return 0; }

* Wszystko działa poprawnie, jednak polecam przetestować.
Nie jest to mój kod, lecz kod z książki – jednak bardzo się przydał do zrozumienia tematu.