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