Pessoal, 
  
fiz um código utilizando getline, mas há um problema: quando a string lida possui mais de uma palavra, o programa pula para a próxima pergunta. 
  
Deem uma olhada por favor:  
  
  
struct estrutura
{
       string nome, tipo;
       int num_integrantes, posicao_ranking;
       };
 
int main ()
{
    int opcao = 1;
    const int qtde = 3;
    estrutura bandas[qtde];
    
    
    for (int i = 0; i < qtde; i++)
    {
        cout << "Digite o nome da banda: " ;
        getline (cin, bandas.nome);
       
        cout << "Digite o tipo de musica que ela toca: " ;
        getline (cin, bandas.tipo) ;
            
        cout << "Digite o numero de integrantes: ";
        cin >> bandas.num_integrantes;
        
        cout << "Digite a posicao no ranking: ";
        cin >> bandas.posicao_ranking;
        while ( (bandas.posicao_ranking<1) or (bandas.posicao_ranking>5) )
        {
              cout << "Posicao invalida. Digite novamente: ";
              cin >> bandas.posicao_ranking;
              }             
        
        cout << "\n\n"; 
        }
    
    for (int i = 0; i < qtde; i++)
    {
        cout << "Nome = " << bandas.nome << endl;
        cout << "Tipo = " << bandas.tipo << endl;
        cout << "Numero integrantes = " << bandas.num_integrantes << endl;
        cout << "Posicao no ranking - " << bandas.posicao_ranking << endl;
        cout << "\n\n";
        }