Odpowiedź:
#include <iostream>
#include <string>
using namespace std;
const int DLUGOSC_ALFABETU = 26;
unsigned int znak_na_kod(char znak) {
return toupper(znak) - 'A';
}
unsigned char kod_na_znak(int kod_znaku) {
return kod_znaku + 'A';
}
string zaszyfruj(string napis, int klucz) {
string wynik;
for (int i = 0; i < napis.length(); i++) {
unsigned int kod_znaku = znak_na_kod(napis[i]);
unsigned int kod_znaku_zaszyfrowany = (kod_znaku + klucz) % DLUGOSC_ALFABETU;
wynik += kod_na_znak(kod_znaku_zaszyfrowany);
}
return wynik;
}
int main() {
string wyraz;
int klucz;
std::cout << "Podaj wyraz do zaszyfrowania\n";
std::cin >> wyraz;
std::cout << "Podaj klucz\n";
std::cin >> klucz;
cout << zaszyfruj(wyraz, klucz);
return 0;
}
Wyjaśnienie:
Nie zmieniałem za dużo tego kodu, ale mam wrażenie że mniej więcej działa