I had a question about how to fix this code I have where I'm trying to go through and make everything lowercase then every first letter of a sentence - the one after a period space - uppercase. I'm doing something wrong, but I cannot figure out where I went wrong. My code hangs after creating the output file sucessfully. Why does my code hang? How can I fix it?
#include <iostream>
#include <fstream>
#include <string>
#include <cctype>
using namespace std;
class Test
{
private:
    string fileIn;
    string fileOut;
    char ch;
    ifstream inFile;        //input file stream
    fstream outFile;        //output file stream
public:
    Test();         //constructor
    void getData();
    void testOpen();
    void validate();
    void outOpen();
    void transform();
    void close();
};
/************************Method Defintions*****************************/
Test::Test()
{
}
void Test::getData()
{
    cout << "Enter the input file name including file type and hit enter when finished." << endl << endl;
    getline(cin, fileIn);
    cout << "Enter an output file name including file type and hit enter when finished." << endl << endl;
    getline(cin, fileOut);
}
void Test::testOpen()
{
    inFile.open(fileIn);
    validate();
}
void Test::validate()
{
    if (!inFile)
    {
        cout << "The file could not be opened.";
        exit(1234);
    }
}
void Test::outOpen()
{
    outFile.open(fileOut, ios::out);
}
void Test::transform()
{
    //set all letters to lower case
    inFile.get(ch);
    while (!inFile.eof())
    {
        outFile.put(tolower(ch));
        inFile.get(ch);
    }
    //rewind to beginning
    inFile.seekg(0L, ios::beg);
    //make all letters after .space upper case
    inFile.get(ch);
    while (!inFile.eof())
    {
        if (inFile, fileIn, '. ')
        {
            inFile.get(ch);
            outFile.put(toupper(ch));
        }
    }
}
void Test::close()
{
    inFile.close();
    outFile.close();
}
/**************************************Driver*********************************/
int main()
{
    //variables
    Test object;        //object of class Testing
    //get data for opening files
    object.getData();
    //open in file and validate it opened
    object.testOpen();
    //open output file
    object.outOpen();
    //transform text from one file to another
    object.transform();
    //close files
    object.close();
    return 0;
}
