Highscore sortieren



  • Hallo Leute!

    Ich bin gerade dabei eine Higscore für mein snake zu schreiben bin dabei aber auf ein Problem gestoßen. Ich muss für die Highscore 10 Zeilen einer Textdatei lesen und dann den eben gespielten wert dazuschreiben und dann das ganze sortieren.

    Nun mein Problem wie kann ich die ausgelesenen Zeilen sortieren (sortiert wird nach Punkten absteigend) denn in den Zeilen steht etwa das Format:
    ___________________________
    |punkte| Benutztername |
    |123456| Name |
    |...
    Wobei ich weiss wie man eine Zeile mit fgets() lesen kann nur dann hab ich nen string für das sortieren brauch ich aber integer.

    Und dann hab ich ja nicht mehr 10 Zeilen in der Textdatei sondern 11 also müsste ich eine löschen und ich weiss nicht wie ich dass anstellen soll.

    Ich hoffe ich hab das jetzt einigermassen verständlich erklärt.

    Danke schon mal im voraus:

    Bauarbeiterjoe



  • Was hältst Du davon, die Liste in ein Array von 'struct elem { int punkte; char name[GROSS]; }' einzulesen und dann einfach qsort mit passender Vergleichsfunktion drüberzuschieben? Das geht, indem Du dir deine eben eingelesene Zeile mit sscanf näher ansiehst.



  • Ich kann die Punkte nicht von den Namen Trennen woher soll das prog denn dann wissen was zu wem gehört.



  • mit der von daniel vorgeschlagenen struct.


Log in to reply