7. For decryption, the main program should create an ifstream for the file to be decrypted. It
should use the getline method of the ifstream to read lines from the file, call the encryption /
decryption function with the line to be decrypted, and display the string which contains the
result of the encryption / decryption function call. Repeat until the ifstream reaches the end of
the file, then close the ifstream.
8. For encryption, the main program should create an ifstream for the file to be encrypted. It
should also create an ofstream for the file where the encrypted result will be stored. The file
name for this file can be gotten from the user or can be the input file name with a special
extension added at the end. The getline method of the ifstream is used to read lines from the
input file. Then the encryption / decryption function is called to encrypt the line. Display the
string containing the result and write the string to the ofstream. Close the ifstream and
ofstreams when finished.
9. Make sure that your program allows the user to encrypt / decrypt more than one file per
session. This means adding a loop which allows the entire program to repeat until the user has
nothing more to do.
Hints
1. Use C strings for the encryption string and the file names. Use char arrays for the encryption
and decryption maps. You cannot treat these as C strings because the maps can contain 0 as a
valid data item rather than the end of string marker.
2. Use a string type variable to hold the encrypted and decrypted strings. The string type allows
you to add characters to the end of a string using thepush_back method, and it allows you to
dump the contents of the string using the erase method.
3. For input streams, you can use the eof method to determine when you have reached the end
of a file.
4. Use a character array to read data from the files. Set the maximum length for this buffer to
be 256 characters.
Development Strategy
I would recommend that you build this project in two phases. The first phase should
concentrate on getting the encryption and decryption map functions and the encryption /
decryption function working. You can test this by using fixed C strings for the input line and the
encryption string. Call the map functions, then encrypt the fixed input string, output the result,
then decrypt the encrypted string and output the result. When your final output is the same as