CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

trier score

bobtriguette32
bobtriguette32
Niveau 6
02 août 2005 à 17:57:14

bonjour,
je fais un programme dans lequel on peut sauvegarder nos score. Mes score ainsi que le nom du joueur sont sauvegarder dans un fichier texte. voici comment il se présente.

aaa 10
bbb 5
ccc 7
etc...

don je voudrais faire une fonction qui affiche les scores mais avant de les affichers je voudrais qu´elle les tris du plus grand au plus petit comment???

merci de m´aider

JeanYvesYves
JeanYvesYves
Niveau 10
02 août 2005 à 17:59:23

mon tuto chapitre G.?
--> les tris :)

bobtriguette32
bobtriguette32
Niveau 6
02 août 2005 à 18:15:25

oui mais le problème c´est que le nom ne suit pas avec le score.

JeanYvesYves
JeanYvesYves
Niveau 10
02 août 2005 à 18:29:14

comment stockes tu tes données ? ( pas dand le ficheir texte, mais en mémoire) ?

fil_razorback
fil_razorback
Niveau 10
02 août 2005 à 18:30:41

Euh comment t´as deviné que c´etait du c++ JYY?

JeanYvesYves
JeanYvesYves
Niveau 10
02 août 2005 à 18:40:33

l´intuition :-)
c´es vrai qu´il faut le préciser dans le titre !

fil_razorback
fil_razorback
Niveau 10
02 août 2005 à 18:41:46

Si t´avais pas posté avant moi jlui aurai fait un beau code actionscript :-)

bobtriguette32
bobtriguette32
Niveau 6
02 août 2005 à 21:39:11

je crois que je vais placer les scores dans un tableau mais je ne sais pas comment faire pour que le même nom soit associé toujours au même score???

fil_razorback
fil_razorback
Niveau 10
02 août 2005 à 21:44:02

je sais pas si ca se fait en C++:

scores=[[user1,son_score],[user2,son_score],[user3
,son_score]etc etc..]

JeanYvesYves
JeanYvesYves
Niveau 10
02 août 2005 à 23:27:07

" je ne sais pas comment faire pour que le même nom soit associé toujours au même score"

tu fais un tableau de structures !

par exemple :

typedef struct SJoueur
{
int score
char nom[50]
} Joueur;

Joueur tab[50];

par exemple :) ( je te dirai comment gérer le qsort si tu décides d´utiliser cela)

bobtriguette32
bobtriguette32
Niveau 6
03 août 2005 à 00:30:21

Merci mais suis-je mieux de les classer avant de les mettres dans le fichiers ou après???

bobtriguette32
bobtriguette32
Niveau 6
03 août 2005 à 01:15:34

voilà j´ai presque fait comme tu m´a dit alors voici mon code:

  1. include < cstdlib>
  2. include < iostream>
  3. include < fstream>
  4. include < conio.h>
  5. include < string>

int affiche();
int save();

typedef struct save
{
char nom[50];
int score;

}sa;

typedef struct read
{
char nom2[50];
int score2;
}ta;
ta rea[50];
sa jeu;

using namespace std;

int main()
{
save();
system("CLS");
save();
system("CLS");
affiche();

}

int save()
{
cout<<"enter votre score:";
cin>>jeu.score;
cout<<"nom:";
cin>>jeu.nom;
ofstream f("test.qzz", ios::app);
f<<jeu.nom<<" " <<jeu.score<<endl;
f.close();

}

int affiche()
{
ifstream f("test.qzz");
for(int i=0;i<10; i++)
{
f>>rea[i].nom2;
f>>rea[i].score2;
}
for(int i=0;i<10;i++)
{
cout<<rea[i].nom2<<" " <<rea[i].score2<<endl;
getch();
}

}

dans ce code il y a plusieurs problème que je voudrais rêgler:

1. je voudrais que l´utilisateur puisse entrer un maximum de 10 score.

2. dans le tableau qui affiche les scores s´il n´y a pa dix score dans le fichier il écrit les scores présent et ensuite il écrit des 0

3. et finalement je voudrais pouvoir le classer comment??

vous pouvez le compiler si vous ne comprnez pas mes problème

merci de me répondre

JeanYvesYves
JeanYvesYves
Niveau 10
04 août 2005 à 11:09:02

Ta structure sa est inutile. C´est la meme chose qu´une structure ta.
tu fais donc un tableau de ta. bien.

1) rentrer les scores, tu fais un peu comme ton for d´affichage :
sauf que tu peux mettre des cin ci besoin ( je ne comprends pas comment tu veux rentrer tes scores)

for(int i=0;i<10; i++)
{
f>>rea[i].nom2;
f>>rea[i].score2;
}

2) pour écrire des 0, c´est simple, il te suffit de faire une fonction init() qui, au début, met tout les scores a 0 et les noms a " "
-->
for(int i=0;i<10; i++)
{
strcpy(rea[i].nom2,"");
rea[i].score2=0;
}

3) pour classer, ajoute simplement, quand tu veux classer, la ligne :

qsort(&(ta[0]),10,sizeof(ta),compscore);

Implémente également la fonction compscore :

int compscore(const void* a,const void* b)
{
ta* pa=(ta*)a;
ta* pb=(ta*)b;
return pa->score2-pb->score2;
}

Enjoy !

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment