Using C++
Assume the following order of English letters: w 51 Retter valudo Write a program (using your programming language of choice) that encrypts and decrypts any given English input text using VIGENRE CIPHER following the above alphabetical order. Note that the program is expected to receive user input for the key, the text, and a flag to indicate the operation mode(encryption/decryption). Both the text and the key are more than one character long. The following functions needs to be implemented as part of your solution, in addition to your choice of other functions to fulfill the required functionality. The listed function arguments are required, and you add any additional ones as needed. get_letter_value (char letter, ...){ (1) // This function receives a letter and returns its numerical value according to the given table // ex. If letter = 'a' the function returns 0) get_value_char(int value, ...){(1) // This function receives a numerical value and returns the corresponding letter according to the given table // ex. If value = 13, the function returns 'n' encrypt_vigenere(key_i, plaintext_i....){(1.5) // This function receives key[i] and plaintext[i] and returns the encrypted vigenere ciphertext[i]. // Input and output of this function are single characters only // ex. Key i - 'd', plaintext i = '1', the function returns "r"} decrypt_vigenere(key_i, ciphertext_i,...){(1.5) // This function receives keyli) and ciphertext[i] and returns the decrypted vigenere plaintext [i] // Input and output of this function are single characters only 1/ ex. Key_ii.ciphertext_i=*e', the function returns "c" Other functionalities: - Taking user-input correctly (1) (the key, the text, and a flag to indicate the operation mode(encryption/decryption).) - Expanding user-input keyword to be the same length as the text (plain/cipher) (1) - Encryption loop to process plaintext as string to ciphertext - Decryption loop to process ciphertext string to plaintext (1) Deliverables: Your Code file (Code with syntax errors gets ZERO regardless the code logic) - Screenshots of the code results for the below text cases. Expected Test cases format: - Input key and text include English letters only. (e.x. no numbers, special characters) - Input key size =