#include #include #include using namespace std; const string CONFIG_FILE_NAME = "config0.dat"; void OpenConfigFile(string fileName, ifstream & fileStream); void ReadInData(ifstream & configFileStream, string & dataFileName, string & userName); void ProcessFile(string dataFileName, string userName, int & userScore); int main() { string userName; string dataFileName; ifstream configFileStream; int userScore; int maxScore; string maxScoreName; bool haveFirstScore = false; OpenConfigFile(CONFIG_FILE_NAME, configFileStream); ReadInData(configFileStream, dataFileName, userName); while (configFileStream) { ProcessFile(dataFileName, userName, userScore); // CheckForMax if (not haveFirstScore or userScore > maxScore) { haveFirstScore = true; maxScore = userScore; maxScoreName = userName; } ReadInData(configFileStream, dataFileName, userName); } configFileStream.close(); cout << endl; if (haveFirstScore) { cout << maxScoreName << " got the max score of " << maxScore << endl; } else { cout << "There is no max score, the config file was empty" << endl; } return 0; } void OpenConfigFile(string fileName, ifstream & fileStream){ fileStream.open(fileName); if (not fileStream ) { cout << "Could not open " << fileName << endl; } return; } void ReadInData(ifstream & configFileStream, string & dataFileName, string & userName){ configFileStream >> userName >> dataFileName; return; } void ProcessFile(string dataFileName, string userName, int & userScore){ int data; userScore = 0; ifstream localDataFile; localDataFile.open(dataFileName); localDataFile >> data; while (localDataFile) { userScore += data; localDataFile >> data; } cout << userName << " " << userScore << endl; localDataFile.close(); return; }