#include "library.h" const string alpha = "abcdefghijklmnopqrstuvwxyz "; const string randa = "hurdmyboxkgavsejcpzwinltqf "; int find_pos(const string S, const char C, const int start) // S = string to search through // C = character to search for // start = where to start the search { if (start >= S.length()) return -1; if (S[start] == C) return start; return find_pos(S, C, start + 1); } char translate(const char C, const string al, const string ra) // find pos of C in al, return char at that position in ra { const int pos = find_pos(al, C, 0); if (pos == -1) return '?'; return ra[pos]; } string translate(const string S, const string al, const string ra) { if (S == "") return ""; const char c1 = translate(S[0], al, ra); const string s2 = translate(S.substr(1), al, ra); const string empty = ""; return empty + c1 + s2; } void main() { cout << "Encrypt = E or Decrypt = D? "; const string choice = read_line(); cout << "Enter a string: "; const string x = read_line(); if (choice == "E") cout << translate(x, alpha, randa) << "\n"; else if (choice == "D") cout << translate(x, randa, alpha) << "\n"; main(); }