Ottimo suggerimento Dark867 funziona quasi.... mi spiego.... mi fa inserire il titolo e l'artista con gli spazi e mi da l'ok ma quando vado a visualizzare l'elenco dei brani inseriti alla voce "Titolo" non appare nulla mentre ad Artista si (nome e cognome con spazi).... sembra come se Titolo non me lo aggiorna....
Non capisco...
Vi posto il codice con la funzione Visualizza() cosi lo testate...
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(brano*);
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(testa);
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";
cin >> TitoloBrano;
getline(cin, TitoloBrano, '\n');
cout <<"\nArtista: \t";
getline (cin, ArtistaBrano, '\n');
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
void Visualizza (brano* testa)
{
if (!testa)
{
cout <<" \n\n LISTA VUOTA!!! \n\n";
system ("pause");
system ("cls");
return;}
brano* prossimo;
prossimo = testa;
cout <<"\n\n == ELENCO BRANI == \n\n";
do {
cout <<"\n\n Titolo: " << prossimo->titolo << " \n";
cout <<"\n\n Artista: " << prossimo->artista << " \n";
cout <<"\n\n Genere: " << prossimo->genere << " \n";
cout <<"\n _________________________________" << " \n\n";
prossimo = prossimo->next;
} while (prossimo != NULL);
system ("pause");
system ("cls");
} // fine Visualizza