Advertisement
ada1711

KzG - CPP (v2) - basic

Jan 11th, 2024
26
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.60 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 if (wybor == 2)
  51. {
  52. string odkodowanaWiadomosc = odkoduj_wiadomosc(wiadomosc);
  53. cout << "Odkodowana wiadomość: " << odkodowanaWiadomosc << endl;
  54. } else
  55. {
  56. cout << "Nieprawidłowy wybór." << endl;
  57. }
  58.  
  59. return 0;
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement