Salve, ho aperto una nuova discussione perché ho un problema diverso. Mi scuso in anticipo se ho sbagliato.
Vorrei trovare una soluzione per utilizzare cmq le stringhe e non il char [] perchè con i puntatori penso mi sballerebbe tutto....sono già a metà programma.
C'è un modo per non utilizzare i vettori? Nel codice che ho postato ho provato ad utilizzare getline(cin, stringa) che normalmente funziona ma in questo caso no...
Esiste un modo? grazie in anticipo

codice:
#include <iostream>
#include <string>
#include <cstdlib>

using namespace std;

struct brano
{
string titolo;
string artista;
string genere;
brano* next;
};

brano* testa;
int attuali = 0;

//Prototipi di funzioni
void  Titolo();
void  Menu();
void  Aggiungi (brano* &);
void  Visualizza();
void  Ordina();
void  Trova();
void  Elimina();
void  SvuotaLista();

//funzione principale
int main()
{

Titolo ();	
int risp;	
brano* testa = NULL;

do {
  do {
Menu ();
cout <<"\n\nDigita la tua scelta: ";
cin >> risp;
} while (risp <1 || risp > 6);
switch (risp)
{
case 1:
     Aggiungi(testa);
     break;
case 2:
     Visualizza;
	 break;
case 3:
     Ordina;
	 break;
case 4:
     Trova;
	 break;
case 5:
     Elimina;
	 break;
case 6:
cout <<"\nArrivederci! :) \n\n";
	 break;
}
} while (risp != 6);
return 0;
}

// funzioni in dettaglio

void Titolo ()
{
cout <<"\n\t LettoreMusicale.cpp   di   Silvia D'Ercole e Vito Montesano    \n";
cout <<"\n\t Esame di: ALGORITMI E PROGRAMMAZIONE (prof. Vittorio Moriggia) \n";
cout <<"\n\t                == GESTIONE DI FILE MUSICALI ==                 \n";
 
} // fine Titolo

void Menu()
{
cout <<"\n\t Contatti attualmente presenti: " << attuali << endl;	
cout <<"\n\n\t            == Menu'==           \n";
cout <<"\n\t [1]: Aggiungi un nuovo brano      \n";
cout <<"\n\t [2]: Visualizza i brani inseriti  \n";
cout <<"\n\t [3]: Ordina brani                 \n";
cout <<"\n\t [4]: Trova un brano               \n";
cout <<"\n\t [5]: Elimina brano                \n";
cout <<"\n\t [6]: Esci\n";
} // fine Menu

void Aggiungi (brano* &testa)
{
	
string TitoloBrano;
string ArtistaBrano;
string GenereBrano;

brano* nuovo;
nuovo = new brano;

cout <<"\n\n == NUOVO ELEMENTO == \n";
cout <<"\nTitolo brano:   \t";
getline(cin,TitoloBrano);
cout <<"\nArtista:        \t";
getline (cin, ArtistaBrano);
cout <<"\nGenere:         \t";
cin >> GenereBrano;

nuovo->titolo == TitoloBrano;
nuovo->artista = ArtistaBrano;
nuovo->genere = GenereBrano;
nuovo->next = testa;
testa = nuovo;
attuali ++;
cout <<"\n == Brano Inserito! == \n\n";
system ("pause");
system ("cls");
} // fine Aggiungi