Witam, jestem dosyć początkującym programistą i bardzo prosiłbym o wytłumaczenie programu "Szyfr Cezara" napisanego w języku C++. Mianowicie chodzi mi o wytłumaczenie (krok po kroku) co dzieje się w funkcjach SZYFRUJ oraz DESZYFRUJ. Jest to program z podręcznika "Informatyka cz.I Piotr Broda, Danuta Smołucha". Z góry dziękuję ! // Program w załączniku.
#include <iostream>
#include <cstdio>
using namespace std;
void szyfruj(char tekst[], int klucz)
{
int i=0;
klucz = klucz%26;
while (tekst[i]!='\0')
{
if ((int)tekst[i]>122-klucz)
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+26);
else
tekst [i] = (char)((int)tekst[i]-klucz);
i++;
}
}
int main()
{
char a[50];
int klucz;
cout<< "Podaj klucz(dla szyfru Cezara wpisz 3)"<<endl;
cin>>klucz;
cout<<"Tekst do zaszyfrowania: "<<endl;
cin>>a;
cout<<"Tekst zaszyfrowany: ";
szyfruj(a,klucz);
cout<<a<<endl;
cout<< "Tekst odszyfrowany: ";
deszyfruj(a,klucz);
cout<<a<<endl;
cin.ignore ();
getchar ();
return 0;
}