#include #include using namespace std; string EncodePhrase(string phrase); char EncodeLetter(char letter); char ReflectLetter(char letter); int main() { string phrase; string message; getline(cin,phrase); while (cin) { message = EncodePhrase(phrase); cout << phrase << " encoded to " << message << endl; getline(cin,phrase); } return 0; } char ReflectLetter(char letter) { size_t pos; char criptLetter; if (letter < 'n') { pos = letter -'a'; criptLetter = static_cast('z' - pos); } else { pos = letter - 'm'; criptLetter = static_cast('n' - pos); } return criptLetter; } char EncodeLetter(char letter){ char returnLetter; bool wasUpper = false; if (isalpha(letter)) { if (isupper(letter)) { letter = static_cast(tolower(letter)); wasUpper = true; } returnLetter = ReflectLetter(letter); if (wasUpper) { returnLetter = static_cast(toupper(returnLetter)); } } else { returnLetter = letter; } return returnLetter; } string EncodePhrase(string phrase){ size_t i; string code; for(i =0; i < phrase.size() ; i++) { code = code + EncodeLetter(phrase[i]); } return code; }