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