3. You must get an encryption key from the user which can be up to 128 characters. The key
must be all lower case alphabetic characters.
4. You must have a function which takes the encryption key and creates an encryption map
from it. For each character in the encryption key string, subtract the lower case letter 'a' and
store the result in the corresponding encryption map array.
5. You must have a function which takes the encryption key and creates a decryption map from
it. For each character in the encryption key string, subtract the lower case letter 'a' from it.
Then subtract that result from 26 and store the value in the corresponding decryption map
array.
6. You must have a function which will do the encryption or decryption transformation. This
function takes the following parameters:
A constant C string containing the line of text to be transformed.
A constant C character array which contains the encryption or decryption map.
An integer which contains the length of the encryption map.
A string reference (output) which will contain the encrypted or decrypted string upon
completion.
The core of the encryption / decryption algorithm is as follows:
For each character (the ith character) in the text input line do the following:
if the character is not alphabetical, add it to the end of the output string
if the character is lower case alphabetical
subtract the character 'a' from the character
get the ith % map length element from the map and add it to the character
adjust the value of the character % 26 to keep it within the alphabet
add the character 'a' to the character
add the encrypted character value to the end of the output string
if the character is upper case alphabetical
do the same thing as for lower case except use 'A' instead of 'a'