Answered step by step
Verified Expert Solution
Question
1 Approved Answer
please help with this assignment encoded: ITRERLNTHDHCAISDEMATIHAEZTASG message:I had the craziest dream last night Objectives: This assignment will give you an opportunity to explore the
please help with this assignment
encoded: ITRERLNTHDHCAISDEMATIHAEZTASG
message:I had the craziest dream last night
Objectives: This assignment will give you an opportunity to explore the process of dividing a C++ program into modules and using the project support components of a CH IDE to manage your modules. General Instructions: Read the problem description below and implement this program in C++. The files for this assignment are provided under the folder for this assignment. You will be submitting two separate projects. See Part A and Part B for details. All of the functions making up this program are complete and in working order except for those marked with //FILL THIS FUNCTION comments, which you must implement. The major challenge in this assignment is to divide the program into separately compiled modules. An Encoder module, consisting of files 'encoder.h' and 'encoder.cpp', containing code dealing specifically with encoding a message. A decoder module, consisting of files 'decoder.h' and 'decoder.cpp', containing code dealing specifically with decoding a message. There are some functions that are not specifically related to either of these modules, but that contain code needed by them. You should apportion these functions to the modules in a way consistent with the goals of high cohesion and low coupling. Consult the comments in the provided code for additional details. First step will be to change input from std::cin to taking input from a file called message.txt" or "encoded.txt". The given code has two Global Variables. Your finished code should have no Global Variables. Problem description: You have a friend who enjoys sending you messages that have been encrypted using a Rail Fence Cipher. While you could easily work them out by hand, sometimes the message is long, and after 15 minutes of work all you have is several rambling sentences about what they did or didn't do over the weekend. To save yourself some time, you decide to create a program to quickly decipher their messages, and even encode your responses The assignment will be to create a C++ program that, given txt file containing a coded message, will decode the message when given a key between 2 and 5. The program will also be able to encode a message given in a text file using a corresponding key between 2 and 5. A Rail Fence Cipher is a type of transposition cipher. When given a message "I had the craziest dream last night" and a key representing the number of rails, the letters of the message are transposed onto the rails in a zig-zag pattern. Lets assume a key of 3': T... I R...E...R L ...N ...T H.D.H.C.A.I.S.D.E.M.A.T.I. H. A E...Z.T...A S...G.. As you can see, the message goes down and up the rails, excluding spaces. Once the message is on the rails, it is read off row by row to get the following encoded message. ITRERLNTHDHCAISDEMATIHATEZTASG For the purposes of this assignment, you will have to remove the spaces and punctuation from the message before encoding it. The resulting encoded and decoded messages will be without spaces or punctuation, but that won't prevent the decoded message from being readable. Encoding with a key of 3: *****Welcome to Rail Fence Coder***** Menu: 1 encrypt a file 2 - decrypt a file 3 quit Selection: 1 Select a Key (2-5): 3 I had the craziest dream last night I TRERLNTH DHCAIS DEMAT IHAEZTASG Decoding a message that had been encoded with a key of 3: *****Welcome to Rail Fence Coder***** Menu: 1 encrypt a file 2 decrypt a file 3 quit Selection: 2 Select a keyStep by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started