n 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.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Topic Video
Question

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:

  1. Only alphabetic characters (a-z|A-Z) are encrypted. Spaces and punctuation are written out unchanged.
  2. 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.
Expert Solution
steps

Step by step

Solved in 4 steps with 3 images

Blurred answer
Knowledge Booster
Instruction Format
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education