[c++] mazzo di carte
Inviato: lunedì 2 giugno 2014, 13:04
Ciao a tutti,devo implementare un gioco di ruolo di calcio.Ho un file di testo con i giocatori (ID, nome carte,denaro,forza,valore,abilità) devo pescare randomicamente da file 7 giocatori(cioè una stringa del file che deve diventare la mia carta) e creare cosi il mio mazzo di carte.Ho deciso di creare una lista di carte per implementare il mazzo perchè in seguito devo poter eliminare le carte utilizzate,comprarne altre ...
NON RIESCO A STAMPARE LA LISTA!!!!!!!!!!!!!!!! il problema di preciso è in Mazzo di carte.cpp /DisplayLista/ cout<<*zip( Cartaaa*zip)
PLEASE HELP ME!!!!!
NON RIESCO A STAMPARE LA LISTA!!!!!!!!!!!!!!!! il problema di preciso è in Mazzo di carte.cpp /DisplayLista/ cout<<*zip( Cartaaa*zip)
PLEASE HELP ME!!!!!
Codice: Seleziona tutto
#ifndef CARTA_H
#define CARTA_H
#include <iostream>
#include <string>
#include <cstdlib>
#include <fstream>
using namespace std;
class Cartaaa
{
private:
int ID;
string Nome_Carta;
int Forza;
int Denaro;
int Abilita;
string Allenabile;
int Valore;
public: Cartaaa *next;
public:
Cartaaa(int id,string nomecarta,int forz,int den,int abil,string allen,int val );
void setID(int id);
void setForza(int forz );
void setDenaro(int den);
void setAbilita(int abil);
void setValore(int val );
void setNome(string nomecarta);
void setAllenab(string allen);
int getID();
int getForza();
int getDenaro();
int getAbilita();
int getValore();
string getNome();
string getAllenab();
void outputLine ();
};
#endif
Codice: Seleziona tutto
#include "Cartaaa.h"
#include <string>
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <fstream>
Cartaaa::Cartaaa(int id,string nomecarta,int forz,int den,int abil,string allen,int val)
{
ID=id;
Forza=forz;
Denaro=den;
Abilita=abil;
Valore=val;
Nome_Carta=nomecarta;
Allenabile=allen;
}
void Cartaaa::setID(int id )
{
ID=id;
}
void Cartaaa::setForza(int forz)
{
Forza=forz;
}
void Cartaaa::setDenaro(int den)
{
Denaro=den;
}
void Cartaaa::setAbilita(int abil)
{
Abilita=abil;
}
void Cartaaa::setValore(int val)
{
Valore=val;
}
void Cartaaa::setNome(string nomecarta)
{
Nome_Carta=nomecarta;
}
void Cartaaa::setAllenab(string allen)
{
Allenabile=allen;
}
int Cartaaa::getForza()
{
return Forza;
}
int Cartaaa::getID()
{
return ID;
}
int Cartaaa::getDenaro()
{
return Denaro;
}
int Cartaaa::getAbilita()
{
return Abilita;
}
int Cartaaa::getValore()
{
return Valore;
}
string Cartaaa::getNome()
{
return Nome_Carta;
}
string Cartaaa::getAllenab()
{
return Allenabile;
}
void Cartaaa::outputLine ()
{
cout << left << setw( 5 ) << ID
<< setw( 16 ) << Nome_Carta
<< setw( 5 ) << Forza
<< setw( 5 ) << Denaro
<< setw( 16 ) << Abilita
<< setw( 5 ) << Allenabile
<< setw( 5 ) << right<<Valore<<endl;
}
Codice: Seleziona tutto
#include "Cartaaa.h"
#include <iostream>
#include <string>
#include <cstdlib>
#include <fstream>
using namespace std;
class MazzoCarte
{
private:
ifstream infile;
Cartaaa *inizioLC;
int NCarte;
public:
MazzoCarte();
void PescareNCarte(int n,char *readFile, int numeroMaaxCarte);
Cartaaa deleteCarta(int id);
void DisplayLista();
private:
int openFile( char *readFile);
void closeFile();
void readCarta(int numeroMaaxCarte);
void InsertCarta(int id,string nomecarta,int forz,int den,int abil,string allen,int val);
int testOfile();
};
[color=#FF0000]non funziona solo la funzione Display posta alla fine del file postato qui sotto : MAZZOCARTA:CPP [/color]
[code]
#include "MazzoCarte.h"
#include <iostream>
#include <string>
#include <cstdlib>
#include <fstream>
using namespace std;
MazzoCarte::MazzoCarte()
{
inizioLC=NULL;
NCarte=0;
}
int MazzoCarte::openFile( char readFile[])
{
infile.open(readFile,ios::in);
if(!infile)
{ cout<<"The file could not ne opened"<<endl;
return 1;}
return 0;
}
void MazzoCarte::PescareNCarte(int n, char *readFile, int numeroMaaxCarte){
openFile(readFile);
for(int i=0; i<n; i++){
readCarta(numeroMaaxCarte);
}
//closeFile(readFile);
}
void MazzoCarte::readCarta(int numeroMaaxCarte){
int id;
string nomecarta;
int forz;
int den,abil;
string allen;
int val;
int n=(int)(rand()%numeroMaaxCarte)+1;
for(int i=0; i<n; i++)
infile>>id>>nomecarta>>forz>>den>>abil>>allen>>val;
InsertCarta(id,nomecarta,forz,den,abil,allen,val);
}
void MazzoCarte:: InsertCarta(int id,string nomecarta,int forz,int den,int abil,string allen,int val){
Cartaaa *ipC ;
ipC=new Cartaaa(id,nomecarta,forz,den,abil,allen,val);
ipC->next=inizioLC;
inizioLC=ipC;
}
int MazzoCarte::testOfile()
{
return infile.eof();
}
[color=#FF0000]void MazzoCarte::DisplayLista()
{
Cartaaa *zip;
zip=inizioLC;
cout<<"Gli elementi della Lista Carte sono\n";
while(zip->next !=NULL )
{
cout<<*zip<<endl;
zip=zip->next;
}
cout<<*zip<<endl;
}
[/color]