Nao13090
Messages postés5Date d'inscriptionvendredi 20 mai 2011StatutMembreDernière intervention26 mai 2011
-
20 mai 2011 à 14:37
Nao13090
Messages postés5Date d'inscriptionvendredi 20 mai 2011StatutMembreDernière intervention26 mai 2011
-
23 mai 2011 à 09:17
Bonjour à tous !
J'essaye actuellement de programmer un logiciel de gestion de tournoi, et j'ai un probleme avec l'affichage des teams au préalable inscrites dans un fichier extérieur.
J'arrive à afficher les teams mais le problème est que je voudrais ne récupérer qu'une seule fois la team inscrite, comment pourrais-je faire ?
Voici mon code actuel :
void team::sltAfficherTeams()
{
ifstream FILE_LECT("participants",ios::binary|ios::in);
Participant *c;
c = new Participant;
char * a = NULL;
ui->lstTeams->clear();
while (FILE_LECT.read((char*)c, sizeof(Participant)))
{
a = c->getNomTeam();
ui->lstTeams->insertItem(0,QString("Nom de la Team : %1").arg(a));
}
FILE_LECT.close();
}
Ceci me permet donc d'afficher les teams, mais si plusieurs joueurs sont inscrits dans la même team, la team est affichée autant de fois qu'il y a de joueurs inscrits.
J'espère que j'ai été assez clair n'hésitez pas à demander plus de renseignements si besoin est, merci d'avance !
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023123 21 mai 2011 à 11:20
C'est normal, non ?
Si pour chaque joueur tu affiches sa team, alors forcément il y aura autant d'affichage de team que de joueurs.
Si tu ne veux afficher qu'une seule fois une team, il faut que tu regroupes les joueurs d'une même team au préalable. Puis tu fais l'affichage que tu veux.
Tu peux très bien mettre les team dans une liste, puis dégager tous les doublons par exemple (utilise un std::set, c'est une classe de liste qui ne fait pas de doublons).
________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfoliohttp://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question