C : chargement et tri de score
Forum Programmation : C : chargement et tri de score
Bonjours !
j'essait de faire un program en C qui :
charge nom et score des meilleur joueur enregistré dans un point texte, compare ces données au score qui vient d'etre fait, si le le score actuel mérite d'etre dans les record a ce moment la remplace le dernier record par le score qui vient d'être fait puis réordonne si besoin le tableau avec un tri a bulle (désolé je sais pas encore mieu faire...)
ensuite, le fichier texte est vidé puis le contenu des tableau ordonnés est recopié dedans.
voila globalement l'algo
au passage, pour éviter d'utiliser ftell, pas fiable parait il j'utilise 2 fichier, un avec les nom et un avec les scores.
les donnée sont stoquée dans une structure.
mais 2 problème se pose :
de 1 le tri a bulle ne tri rien du tout, c'est génant le score actuel reste en dernière position quequesoit sa valeur
de 2 les fichier sont bien vidé mais rien n'est mis a l'intérieur...
sur ce place au code (foireux
)
Code :
|
merci d'avance
Message édité par Drife le 17-02-2007 à 20:49:42
Pour overclocker :
http://www.infos-du-net.com/forum/ [...] pic-unique
je ne connais pas trop le C, mais la syntaxe de fputs, si c'est comme en php, est: fputs(ressource, string).
Et pourquoi n'ajoute-tu pas le score au tableau puis tu utilises bsort() et tu ne met dans ton fichier que les 4 premiers enregistrements?
Message édité par crazycat@idn le 17-02-2007 à 21:02:38
Répondre à crazycat@idn
se pourrais - ce que j'ai fait une erreur aussi grossière ???
inversé les 2 !!
je vais vérifié
mais il faudrait vraiment m'aider sur le plus gros problème, le tri...
merci
Pour overclocker :
http://www.infos-du-net.com/forum/ [...] pic-unique
Répondre à Drife
oups, lis mon edit (bsort)
Répondre à crazycat@idn
ajouter le score ?
utiliser bsort ?
je connais pas bsort
Pour overclocker :
http://www.infos-du-net.com/forum/ [...] pic-unique
Répondre à Drife
je rappel, le but et d'analyser et de trier les donnée, pas de rajouter n'importequelle score...
Pour overclocker :
http://www.infos-du-net.com/forum/ [...] pic-unique
Répondre à Drife
Il semblerait bien qu'il y ait une fonction bsort() pour trier un tableau.
Donc, ton algo devient:
lecture des fichiers et entrée dans un tableau (score, nom)
ajout du score et du nom dans ce tableau
bsort pour trier par score
remplissage des fichiers depuis l'item 0 à l'item N-1
Répondre à crazycat@idn
ok je vais me renseigner sur ça, mais je sais pas si
ça va marche vu que j'utilise une structure avec des nom et tout avec en plus 2 fichier séparé...
cela dit si quelqu'un peut corrigé mon code je suis toujours preneur
merci a toi crazy cat en tout cas...
Pour overclocker :
http://www.infos-du-net.com/forum/ [...] pic-unique
Répondre à Drife
j'ai pas tout vu, mais, yappermut = 0 avant de rentrer dans le while, 0 en C = false, donc tu ne rentres pas dans le while...
un remarque: le fichier est censé être trié par meilleur score, donc il suffit de comparer le score actuel à celui du dernier, si il est supérieur, tu peux le rajouter.
pour la boucle d'ecriture, la condition du for: i>5 est fausse
voila
EDIT: bsort n'existe pas en standard en C
Message édité par coca25 le 18-02-2007 à 12:16:23
merci de la précision coca25, j'avais trouvé ça en faisant une recherche sur le bubblesort, je pensais que c'était natif.
Répondre à crazycat@idn
merci coca je vais essayer de corriger tout ça, si ça marche toujours pas je reviendrais vous embéter
Pour overclocker :
http://www.infos-du-net.com/forum/ [...] pic-unique
Répondre à Drife
bon je suis désolé, je revient, et je sui excédé
ce putain de programme de base a la con ne marche toujours pas, et je n'arrive pas a la corriger ...
le tri ne marche pas bien sur, le nom entré au début remplace les 3 dernière place, ainsi que le score.
la ligne pour copier les score dans le fichier fait tout plantée (si je l'enlève ça plante pas).
aidez moi svp j'en peut plus de ce bordel
code :
Code :
|
Pour overclocker :
http://www.infos-du-net.com/forum/ [...] pic-unique
Répondre à Drife
la syntaxe de fprintf:
Code :
|
donc le code exact est:
Code :
|
ta boucle de tri a pour condition de sortie i>=0 donc i-1 peut etre egale à -1, pour un indice de tableau, c'est pas normal
faut pas perdre espoir
bon excuse de mettre emporté, mais parfois j'ai vraiment l'impression que je m'en sortirai pas...
tu vois, ces dernière vancances j'ai programé un mastermind enconsole, avec plusieur niveau de difficulté, un mode spécial un mode 2joueur et surtout AUCUNS bug...
seulement, les cour tout ça ça fait un mois que je n'ai pas pu programmé, et je me suis dit que j'allais m'y remettre ces vances laz (dans une semaine) et que en attendant je réviserai un peu...
par rapport au mastermind que j'ai réussi tout seul, ce petit programmé que je voulais faire juste pour m'entrainer me paraissait une broutille quoi...
donc je me suis un peu déçu de ne pas y être arrivé...
enfin voila, merci de m'aider
=> en fait heuresement que je révise puisque je me sert pas corectement de fprintf
Pour overclocker :
http://www.infos-du-net.com/forum/ [...] pic-unique
Répondre à Drife
| Citation : // penser à rajouter le \n dans scanf |
je ne comprend pas très bien...
bon moi déja j'utilise fgets + sscanf car c'est plus sécurisant et plus "pro" (ok c'est pathétique vu mon niveau mais bon ^^)
et puis, a chaque tour de boucle y'a une ligne de passée non ?
parce que moi, quand le meme nom se met 3 fois et qu'il est réinscrit dans le fichier, les ligns sont passé...
et si je rajoute un "\n" et bien ça m'écrit un nom une ligne sur 2, et ça va tout faire foirré la prochaine fois que j'execute le programme....
Pour overclocker :
http://www.infos-du-net.com/forum/ [...] pic-unique
Répondre à Drife
| Drife a écrit :
|
| Drife a écrit :
|
sinon effectivement c'est mieux d'uiliser fgets
Il y a 2081 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

crazycat@idn