Ranger nombres et texte en language C

Fermé
paulodu84 - 16 janv. 2011 à 12:28
Bonjour,

Voici mon problème : je souhaite faire un programme pour ranger les meilleurs scores d'un jeu. Voici comment ils sont ranger dans un fichier .txt :
5 fait par Super Paulo
7 fait par Super Paulo
5 fait par Super Paulo
4 fait par vince
6 fait par vince


Voici le programme :
#include <stdio.h>
#include <stdlib.h>
#include "main.h"

int main()
{
    FILE* fichier = NULL;
    int i;
    int test;
    score recapitulation[50];

    fichier = fopen("Meilleurs scores.txt", "r");

    if (fichier != NULL)
    {
        for (i = 0; i <= 50; i++)
        {
            test = fgetc(fichier);

            if (test != EOF)
            {
                fscanf(fichier, "  %d  fait par  ", &recapitulation[i].chiffre);
                fgets(recapitulation[i].nom, 100, fichier);
                printf("%d", recapitulation[i].chiffre);
                printf("%s", recapitulation[i].nom);
            }

            else
            {
                test = i;
                i = 51;
            }
        }
        fclose(fichier);
    }

    i = 0;
    int j = 0;
    int temp = 0;

         for( i = 0; i < test; i++)
         {

            for( j = 0; j < test; j++)
            {
                if(recapitulation[j].chiffre > recapitulation[i].chiffre)
                {
                    temp = recapitulation[j].chiffre;
                    recapitulation[j].chiffre = recapitulation[i].chiffre;
                    recapitulation[i].chiffre = temp;
                }
            }
         }
    printf("\n\n");

    for (i = 0; i < test; i++)
    {
        printf("%d", recapitulation[i].chiffre);
        printf("%s", recapitulation[i].nom);
    }

    return 0;
}



Et le main.h :
#ifndef MAIN_H_INCLUDED
#define MAIN_H_INCLUDED

typedef struct score score;
struct score
{
    char nom[100];
    int chiffre;
};

#endif // MAIN_H_INCLUDED



Les nombres sont rangés mais le nom correspondant ne bouge pas.


Merci d'avance