Dokoncz program:

#include iostream
#include string
#include cctype

using namespace std;

string zaszyfruj(string napis)
{
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 + 3) % 26;
wynik += kod_na_znak(kod_znaku_zaszyfrowany);
}
return wynik;
}




wykorzytsaj funkcje:

unsigned int znak_na_kod(char znak)
{
return toupper(znak) - 'A';
}


unsigned char kod_na_znak(int kod_znaku)
{
return kod_znaku + 'A';
}

dzk


Odpowiedź :

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