Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Sample Input: Sample Output: How many words are in your message? Enter value: Select one of these options: (1) Get Message (2) Encrypt (3) Print

image text in transcribedimage text in transcribedimage text in transcribedimage text in transcribed

Sample Input:

image text in transcribed

Sample Output:

How many words are in your message? Enter value: Select one of these options: (1) Get Message (2) Encrypt (3) Print (4) Quit Selection: Enter Message to Encrypt: Enter number of letters to shift: Select one of these options: (1) Get Message (2) Encrypt (3) Print (4) Quit Selection: The message is: YOUR INITIAL ESCAPE ROUTE HAS BEEN COMPROMISED Select one of these options: (1) Get Message (2) Encrypt (3) Print (4) Quit Selection: Select one of these options: (1) Get Message (2) Encrypt (3) Print (4) Quit Selection: The message is: BRXU LQLWLDO HVFDSH URXWH KDV EHHQ FRPSURPLVHG Select one of these options: (1) Get Message (2) Encrypt (3) Print (4) Quit Selection:

5.18 Homework 3 Encryption using Pointers and Dynamic Arrays Objective: Agent James Vond, one of our secret agents, Agent 008, has recently been captured in the Caribbean. We have been able to establish contact with him, but need help sending him messages in secret to let him know help is on the way. We believe we can send him messages using a Caesar Cipher, but need your help encoding it. Agent Vond, we task you with encrypting the message and helping Agent 008 escape the Caribbean Sincerely, M Assignment: The Caesar Cipher technique is one of the earliest and simplest method of encryption. It's a substitution cipher, i.e., each letter of a given text is replaced by a letter some fixed number of positions down the alphabet. For example with a shift of 1, A would be replaced by B, B would become C, and so on The encryption equation is E(x)-(x + n) % 26 The x = the numeric letter value, n = number of shifts, and (% 26) is so that whatever value your result is, it will stay within the alphabet range (0-25). However, since we will be looking at characters in strings, you need to implement ASCIl code so that your equation will look more like letter-( ( (letter-A) + shift ) % 26 + A)) if it is upper case Or letter-( ( (letter-3) + shift ) % 26 + 'a' ) ) if it is lower case. You subtract A and 'a' in order to get the value of the letter. In ASCIl code, letters are assigned values. For example,B is iff subtract the value of A' (65) then I get 1. This helps me encode because I can get the values 0-25 for each letter. Your assignment is to implement a dynamic string array in order to store a message of variable length, and then a pointer to iterate through each letter of the string in order to encrypt it using the equations given above. You will need to ask the user for the amount of words in the message and then create your dynamic array that way. If the amount of words is a negative number or equal to zero you should output to the screen "Invalid value. Please Re-enter a number of positive value" until they have the correct input. Get Message Use cin to get each word the user wishes to put into the message After they have input all the strings required, ask for the number of letter shifts they would like to do Encrypt Encrypt each letter in each string using the equations provided above if the getMessage pointer isn't null (aka if Get Message option has already been called) Print Message Print out the encrypted or unencrypted message Quit Simply quits out of the loop Input You many assume that the input to be encrypted will only consist of capital and lower letters, and no other symbols such as white spaces, numbers, or special characters will have to be encrypted In order to choose the different options you will take an integer value as input. 1 is for Get Message, 2 is for Encrypt, 3 is for Print, 4 is for Quit Requirements: Use a dynamic array to store a message of variable length (not using dynamic array will receive 50% penalty) Use a pointer to iterate through each string and encrypt it Do not allow for number of letter shifts to be> 26 (Must be in the range of 0-25 aka the range of 26) [Ex: If I give you 27, your shift should end up being 1] [Hint: %] Do not expect int to hold all possible values when l input the value of shift, test very large numbers Print out your message using pointer arithmetic (ex: *p: p++) DO NOT iterate through your pointer like an array when printing!! Late submission penalty Code submitted within 24 hours after the deadline will receive a 20% penalty Code submitted within 48 hours after the deadline will receive a 40% penalty main.cpp Load default template... 1 #include iostream> 2 #include string 3 using namespace std; 4 6 int main() //declare variables to store user input 10 bool conttrue; 12 //implement a loop so that it will continue asking until the user provides a positive integer 13 I the following provides ONLY part of the loop body, which you should complete 14 15 16 17 18 19 20 21 cout

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

JDBC Database Programming With J2ee

Authors: Art Taylor

1st Edition

0130453234, 978-0130453235

More Books

Students also viewed these Databases questions

Question

4. How is culture a contested site?

Answered: 1 week ago