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";
}