Вы используете iostreams, подразумевая использование C ++. Это, в свою очередь, означает, что вы, вероятно, должны использовать std :: string, в которой перегружены операторы для конкатенации строк, - и приятный побочный эффект автоматического управления памятью и дополнительной безопасности.
#include <string>
// ...
// ...
std::string input_filename;
std::cout << "What is the file name that should be processed?\n";
std::cin >> input_filename;
// ...
infile.open(input_filename + ".txt");