Question: write a C++ program. The encryption program gives the user several choices for encrypting (or decrypting) the uppercase characters in a file. All non-uppercase letters

write a C++ program.

The encryption program gives the user several choices for encrypting (or decrypting) the uppercase characters in a file. All non-uppercase letters are simply echoed. The encryption is only performed on uppercase characters.

Choice 1 No encryption, echo all characters in the file

Choice 2 Encrypt by shifting. For example, shifting by 3 characters would change an A to a D because that is 3 letters later. If you reach the end of the alphabet then you need to roll over. For example Z plus 3 is C.

NOTE: The process of converting the Z to a C should not need the use of an if statement. Do not use any ifs, switchs, loops for this part of the conversion.

Choice 3 Duplicate every other letter. For example, ABCD becomes AABCCD.

Choice 4 This will calculate a hash value. You will sum the ASCII values of all of the characters and at the end of the file print the last 2 digits of the sum. For example, ABC is 98 because A is 65, B is 66, C is 67, which has a sum of 198.

Choice 5 This is the opposite of choice 2. Instead of moving 3 letters forward, it will move 3 letters backwards. A D will become A.

Like choice 2, the shifting should be accomplished without ifs, switchs, and loops.

Choice 6 This is the opposite of choice 3. Change AABCCD back to ABCD.

Your program should prompt the user for:

The encryption type

The name of a file containing your message

Your program should output the encrypted message.

file1.txt has the following contents:

AAB CC

XYYZ

Sample Run #1: (the highlighted text is what the user types)

1 - No encrypt

2 - Shift 3 forward

3 - Double every other

4 - Find hash

5 - Shift 3 backward

6 - Remove characters

Choice? 1

Filename? file1.txt

AAB CC

XYYZ

Sample Run #2: (the highlighted text is what the user types)

1 - No encrypt

2 - Shift 3 forward

3 - Double every other

4 - Find hash

5 - Shift 3 backward

6 - Remove characters

Choice? 2

Filename? file1.txt

DDE FF

ABBC

Sample Run #3: (the highlighted text is what the user types)

1 - No encrypt

2 - Shift 3 forward

3 - Double every other

4 - Find hash

5 - Shift 3 backward

6 - Remove characters

Choice? 3

Filename? file1.txt

AAABB CCC

XYYYZZ

Sample Run #4: (the highlighted text is what the user types)

1 - No encrypt

2 - Shift 3 forward

3 - Double every other

4 - Find hash

5 - Shift 3 backward

6 - Remove characters

Choice? 4

Filename? file1.txt

86

Sample Run #5: (the highlighted text is what the user types)

1 - No encrypt

2 - Shift 3 forward

3 - Double every other

4 - Find hash

5 - Shift 3 backward

6 - Remove characters

Choice? 5

Filename? file1.txt

XXY ZZ

UVVW

Sample Run #6: (the highlighted text is what the user types)

1 - No encrypt

2 - Shift 3 forward

3 - Double every other

4 - Find hash

5 - Shift 3 backward

6 - Remove characters

Choice? 6

Filename? file1.txt

AB C

XYZ

Additional Notes:

If c is char variable, then isupper(c) will return true if c contains an uppercase character, false otherwise

To read a single character from a file, you can use: inFile.get(c);

This will read each character, even the whitespace characters

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!