Advertisement
ada1711

KzG - CPP (v3) - basic

Jan 13th, 2024
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.42 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. string zakoduj_wiadomosc(string wiadomosc)
  7. {
  8.     string zakodowana = "";
  9.     string alfabet = "abcdefghijklmnopqrstuvwxyz";
  10.     for (int i = 0; i < wiadomosc.length(); i++)
  11.     {
  12.         if (wiadomosc[i] >= 'a' && wiadomosc[i] <= 'z')
  13.         {
  14.             int index = wiadomosc[i] - 'a';
  15.             // Przesunięcie o 1 wstecz bez używania modulo
  16.             if (index == 0)
  17.             {
  18.                 index = 25; // przesunięcie 'a' na 'z'
  19.             } else
  20.             {
  21.                 index = index - 1;
  22.             }
  23.             zakodowana += alfabet[index];
  24.         } else {
  25.             // Pozostaw inne znaki bez zmian
  26.             zakodowana += wiadomosc[i];
  27.         }
  28.     }
  29.     return zakodowana;
  30. }
  31.  
  32.  
  33. int main()
  34. {
  35.     string wiadomosc;
  36.     int wybor;
  37.  
  38.     cout << "Witaj w programie 'Łamacz kodów'!" << endl;
  39.     cout << "Wybierz operację: \n1. Zakoduj wiadomość\n2. Odkoduj wiadomość\nWybór: ";
  40.     cin >> wybor;
  41.     cin.ignore();  // Usuwa znak nowej linii z bufora po cin
  42.  
  43.     cout << "Wprowadź wiadomość: ";
  44.     getline(cin, wiadomosc);
  45.  
  46.     if (wybor == 1)
  47.     {
  48.         string zakodowanaWiadomosc = zakoduj_wiadomosc(wiadomosc);
  49.         cout << "Zakodowana wiadomość: " << zakodowanaWiadomosc << endl;
  50.     } else
  51.     {
  52.         cout << "Nieprawidłowy wybór." << endl;
  53.     }
  54.  
  55.     return 0;
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement