Boa tarde, pessoal. 
  
Preciso fazer um programa em  C++ que leia um arquivo txt e mostre seu conteúdo na tela. O problema que estou tendo é que o usuário é que deve escrever o nome do arquivo do qual ele deseja ver o conteúdo. 
Do jeito que está, o programa irá abrir sempre o mesmo arquivo "teste.txt" e isso não serve para mim. Eu quero ter vários arquivos em txt e deixar o usuário entrar com o nome do arquivo que ele quiser abrir. 
  
Segue o programa que eu estou usando: 
  
#include <iostream> 
#include <fstream> 
#include <string> 
using namespace std;  
int main ()  
{ 
    int linhas, colunas; 
    string nomearq; 
    string line;  
    cout << "Entre com o numero de linhas: "; //esses dados serão usados posteriormente 
    cin >> linhas;  
    cout << "Entre com o numero de colunas: "; //esses dados serão usados posteriormente 
    cin >> colunas;  
    cout << "Entre com o nome do arquivo: "; //nome do arquivo que o usuário quer abrir 
    cin >> nomearq; 
    cout << endl;  
    ifstream arquivo ("teste.txt"); //O PROBLEMA ESTÁ AQUI! Eu quero colocar a variável "nomearq" aqui dentro do argumento, mas não //funciona  
    if (arquivo.is_open()) 
    { 
        while (! arquivo.eof() ) //enquanto end of file for false continua 
        { 
              getline (arquivo,line); 
              cout << line << endl; 
        } 
        arquivo.close(); 
    }  
    else cout << "Problemas ao abrir o arquivo escolhido";     
    return 0; 
} 
  
Se alguém tiver uma solução, será de grande ajuda. Muito obrigado a todos que tentarem. 
  
Abraços,