Zadanie polega na połączeniu szyfrowania z zamianą liter w słowie np: wera- ewar lub kot-okt i szyfr Cezara. Działa mi zamiana liter w słowie ale nie działa mi kod Cezara. Może mógłby mi ktoś podpowiedzieć co tutaj mam źle? (Dopiero uczę się programować:) )
#include <iostream>
#include <cstring>
#include <string>
using namespace std;
void kodowanie(char *haslo){
int dl = strlen(haslo);
for (int i=0; i<dl-1; i+=2) {
char pom = haslo[i];
haslo[i] = haslo[i+1];
haslo[i+1] = pom;
}
}
string kodowanie(string haslo)
{
int klucz, zmiana;
cout<<endl<<"Podaj klucz: ";
cin >> klucz;
for (int i=0; i < haslo.length(); i++)
{
if ((haslo[i] >= 32 && haslo[i] <= 126))
{
zmiana = haslo[i] + klucz;
while (zmiana > 126)
{
zmiana = zmiana - 95;
}
haslo[i] = zmiana;
}
}
return haslo;
}
int main() {
char haslo[100];
cout<<"Podaj haslo do zaszyfrowania: ";
cin.getline(haslo, 100);
cout<<"Przed szyfrowaniem: ";
cout<<haslo<<endl;
cout<<"Podaj kod";
cout<<haslo<<endl;
kodowanie(haslo);
cout<<"Szyfrogram: ";
cout<<haslo<<endl;
kodowanie(haslo);
cout<<"Tekst jawny: ";
cout<<haslo<<endl;
return 0;
}