Here is what I should do making a program that reads a text file that contains encrypted message and crack it it is kind of close to substitution cipher where I should swap swap each letter back with another meaning like shifting B back to A if its being shifted by one, and try comparing shifted words by some common used words to find if 2 of the common words have been found on the shifted ones
ex: shift the word by one
check when you shifted it is there 2 common words found?
no keep going
yes means thats it stop shifting
Now this issue here which makes the program hard for me is that I do not have a key to be entered it would've been awesome if I had it.
3 issues I am having now, is in my void function it will not print anything, the second issue is, even if I fix my issue (I know this because in my function I have added something to convert string to c_string) and the issue is it will not shift until it finds the words I am looking which I have declared in string "Common[]" 3rd issue is whenever I compile I get an error invalid conversion from const char** to char comparison between signed and unsigned integer expressions
#include <iostream>
#include <fstream>
#include <string>
#include <stdio.h>
#include <ctype.h>
using namespace std;
void makeshift (string encrypt, int key)
{
    for (int i = 0 ; i<encrypt.size();i++)
    {
        cout<<encrypt<<endl; // to see what is in file way to debug
        const char *encryptedc; // this is to convert string to cstring
        encryptedc = encrypt.c_str();
        encryptedc-=key;
        cout<<"decrypted message is "<<encryptedc<<endl;
    }
}
int main (int argc, char* argv[])
{
    // this will make me compare between encrypted message to check if it
    // contains this words or not!
    const char* common[]{"the","and","in","he","with","that","as","at","do"};
    
    string encrypted; // The encrypted message gotten from file
    
    ifstream message(argv[1]); // get file name typed by user
    if(message.is_open()) // check if file is open
    {
        while (!message.eof()) // check if we reached end of file
        {
            // get the whole line in file
            getline(message,encrypted);
            
            ///loop throgh it to store numbers in declared varibles
            for (int i = 0 ; i < encrypted.size();i++)
            {
                makeshift(encrypted,i);
                // here is where the error occurs which is "invalid conversion
                // from const char to char
                if(encrypted.find(common) != -1)
                {
                    cout<<"found common"<<endl;
                    cout<<encrypted<<endl;
                    break;
                }
            }
        }
    }
}
    
 
    