Implementacja szyfru cezara dla liczb i liter. I teraz moje pytanie czy jest to poprawna implementacja danego szyfru? nie ważne czy da się pisać ze spacjami czy nie ważne czy szyfr poprawnie działa proszę o pomoc :).
#include <iostream>
#include <string>
using namespace std;
int main()
{
string napis;
int i=0;
long long ile;
while(true)
{
cin>>napis;
cin>>ile;
while(i<napis.length())
{
if(napis[i]>='A'&&napis[i]<='Z')
{
napis[i]+=(ile%25);
if(napis[i]>'Z')
{
napis[i]=(napis[i]-90) + 64;
}
else if(napis[i]<'A')
{
napis[i]=91-(65-napis[i]);
}
}
else if(napis[i]>='a'&&napis[i]<='z')
{
napis[i]-=32;
napis[i]+=(ile%25);
if(napis[i]>'Z')
{
napis[i]=(napis[i]-90) + 64;
}
else if(napis[i]<'A')
{
napis[i]=91-(65-napis[i]);
}
napis[i]+=32;
}
else if(napis[i]>='0'&&napis[i]<='9')
{
napis[i]+=(ile%10);
if(napis[i]>'9')
{
napis[i]=(napis[i]-57) + 47;
}
else if(napis[i]<'0')
{
napis[i]=58-(48-napis[i]);
}
}
cout<<napis[i];
i++;
}
i=0;
cout<<endl;
}
return 0;
}