COMP 122 All Assignments COMP 122 All Assignments | Page 18

= 1 = 25 The mapped value of a character is easily obtained by doing the following: For lower case characters, subtract 'a' from the character. For upper case characters, subtract 'A' from the character. To calculate the modified value of the first character of input we add its mapped value to the mapped value from the first character of the encryption string. This modified value is then adjusted using % 26 to make sure that the final modified value is within the 0 - 25 range. To create the final encrypted character value for the first character, simply do the following: For lower case characters, add 'a' to the modified value. For upper case characters, add 'A' to the modified value. This is done for each alphabetic character in the input string. Non-alphabetic characters simply maintain their present value. If the input string is longer than the encryption string, simply reuse mapped values from the encryption string. For instance, if the encryption string has 10 characters (index values 0 - 9), when processing the 11th input character (index 10), simply use the input character index % length of encryption string (in this case 10 % 10 is 0) to select the value from the encryption string to use for mapping. The decryption process is basically the same as the encryption process. The only difference is the value of the mapped character from the encryption string. For lower case encryption, the mapped from encryption string - 'a' For upper case encryption, the mapped from encryption string - 'A' For lower case decryption, the mapped - (character from encryption string - 'a') For upper case decryption, the mapped - (character from encryption string - 'A') Program Requirements Your program must meet the following requirements: 1. You must ask the user if they want to perform an encryption or decryption operation. 2. You must ask the user to enter the name of the file they want to encrypt or decrypt.