ream& in, ostream& out, unsigned key) void plaintext(istream& in, ostream& out, unsigned key) You are going to read from the parameter in and write to the parameter out. Treat the two parameters, in and out, just as you would cin and cout. In fact, if you want to encrypt the characters you type from the keyboard, and have the output appear in the console, you can just call cipher(cin, cout, 5) from your run function and everything that you type will be shifted to the right by five characters. Both of these functions are filter functions, so they will use data loops. Here is the pseudocode for the cipher() function: cipher(in, out, key): read each character (c) from in
Need help with this c++ problem
In encryption, plain text is the normal, human-readable text. Cipher text is the encrypted message. These are the two functions you'll be writing. One will encrypt plain text and the other will decrypt cipher text.
void cipher(istream& in, ostream& out, unsigned key)
void plaintext(istream& in, ostream& out, unsigned key)
You are going to read from the parameter in and write to the parameter out. Treat the two parameters, in and out, just as you would cin and cout. In fact, if you want to encrypt the characters you type from the keyboard, and have the output appear in the console, you can just call cipher(cin, cout, 5) from your run function and everything that you type will be shifted to the right by five characters.
Both of these functions are filter functions, so they will use data loops. Here is the pseudocode for the cipher() function:
cipher(in, out, key):
read each character (c) from in
shift the character c right by key
write c to out
The plan for the plaintext() function is the same, except the character is shifted to the left by the key value. There are two important details:
- Only alphabetic characters (a-z|A-Z) are encrypted. Spaces and punctuation are written out unchanged.
- You will have to figure out how to wrap around the characters when shifting
would cause it to move outside the alphabetic range. For instance, shifting the
character Z right by 1 should convert it to A, and shifting the character A left by 1
should convert it to Z. You'll need to make use of the % operator to do this, along
with some addition.


Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 1 images









