I am writing a program that is to convert text that a user gives. I have tried this method by itself in a test program and it works perfectly; however when I try to implement it into the larger program, the user cannot give the program an input to store. The relevant code is as follows:
int main()
{
    string str = "NULL";
    int mappings = 0;
    readMappings(mappings);
    receiveInput(str);
    displayInput(mappings, str);
    return 0;
}
void readMappings(int &count)
{
    ifstream readMappings;                                                  // Creates the function "readMappings"
    string filename;                                                        // Generates the filename variable to search for mapping document
    cout << "Enter the filename of the mapping document: ";
    cin >> filename;                                                        // User enters filename
    readMappings.open(filename);                                            // "readMappings" function opens the given mappings document
    while (!readMappings.is_open())
    {
        cout << "Unsble to open file. Please enter a valid filename: ";     // If the user enters an invaled filename, the program will ask again
        cin >> filename;
        readMappings.open(filename);
    }   
    if (readMappings.good())                                                // Mapping document is successfully opened
    {
        readMappings >> count;                                              // Reads first line
    }
    readMappings.close();                                                   // If everything fails in this function, the document will close
}
void receiveInput(string &input)
{
    char correctness;
    do {
        cout << "\nPlease enter the text you would like to be converted to NATO:\n";
        getline(cin, input);
        cout << "You are about to convert: \"" << input << "\".\nIs this correct? (Y/N)" << endl;
        cin >> correctness;
    } while (correctness == 'N' || correctness =='n');
}
I thought it may have been the program waiting for another input from the user so I added a variable I assumed it would already fill, but it did not fix my solution. In my opinion, the problem is in the receiveInput function, but I could be wrong. Thanks in advance for any assistance.
Also, I am using function prototypes with correct reference variables.
 
    