Salve vorrei fare la stampa dei valori della lista...credo che la funzione stampasquadra vada bene però non so come passare il puntatore testa dalla funzione aggiuntaGiocatore a stampasquadra...
codice:
#include <iostream>
using namespace std;
struct giocatore
{
string nomegiocatore;
string cognomegiocatore;
int abilita;
giocatore*nextgiocatore;
};
class squadra
{
public:
squadra()
{
testa=NULL;
}
void assegnamentoNome();
void assegnamentoNomeSponsor();
void aggiuntaGiocatore();
void stampasquadra();
int scelta;
private:
string nomesquadra;
string sponsor;
giocatore*testa;
string valore;
char opzione;
};
void squadra::assegnamentoNome()
{
cout<<"Che nome vuoi dare alla tua squadra? "<<endl;
cin>>nomesquadra;
}
void squadra::assegnamentoNomeSponsor()
{
cout<<"Qual è il tuo sponsor?"<<endl;
cin>>sponsor;
}
void squadra::aggiuntaGiocatore()
{
do
{
giocatore*ptr=new giocatore;
giocatore*temp=new giocatore;
cout<<"Inserisci il nome del giocatore:"<<endl;
cin>>ptr->nomegiocatore;
cout<<"Inserisci il cognome del giocatore:"<<endl;
cin>>ptr->cognomegiocatore;
cout<<"Qual e l'abilità del tuo giocatore?"<<endl;
cin>>ptr->abilita;
ptr->nextgiocatore=NULL;
if(testa==NULL)
testa=ptr;
else
{
temp=testa;
testa=ptr;
testa->nextgiocatore=temp;
}
cout<<"Vuoi inserire un nuovo giocatore?"<<endl;
cin>>opzione;
}while(opzione=='s');
}
void squadra::stampasquadra()
{
do
{
cout<<testa->nextgiocatore->nomegiocatore<<endl;
valore=testa->nextgiocatore->nomegiocatore;
}while(valore==NULL);
}
int main()
{
do
{
squadra miasquadra;
cout<<"Cosa desideri fare?"<<endl;
cout<<"1)Inserisci il nome della squadra"<<endl;
cout<<"2)Inserisci il nome dello sponsor"<<endl;
cout<<"3)Inserisci un giocatore"<<endl;
cout<<"4)Visualizza la squadra"<<endl;
cin>>miasquadra.scelta;
switch(miasquadra.scelta)
{
case 1:
miasquadra.assegnamentoNome();
break;
case 2:
miasquadra.assegnamentoNomeSponsor();
break;
case 3:
miasquadra.aggiuntaGiocatore();
break;
default:
cout<<"Scelta sbagliata";
}
}while(true);
return 0;
}