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