Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
L'objectif de ce TP est de grer une liste de scores compose d'un pseudo du joueur et du score
ralis. Cette liste sera sauvegarde dans un fichier score.txt. Ce sera l'occasion de rviser ou
vous familiariser avec les notions de Listes Chanes, de manipulation de chanes de caractres,de
Compilation spare, d'Ecriture et d'Utilisation d'un Makefile, de Gestion de fichiers, dAlgorithme
de tris et enfin dune premire prise en main de la bibliothque graphique propose.
Important : Il est impratif de tester chaque fonction crite dans la fonction main() pour sassurer
de son bon fonctionnement. Il nest pas raisonable dcrire tout lexercice et de se lancer dans
lexecution la fin. On valide chaque brique sparement et on avance pas pas.
PREPARATION
Avant de venir ce TP, il est obligatoire davoir rvis les supports de cours en langage C
sur les bases de la syntaxe, lallocation dynamique, la manipulation des chanes de
caractres, les listes chaines, ect. ainsi quavoir lu les annexes de ce document.
RAPPEL
#include <stdio.h>
void main(void)
{
char chaine[21];
printf("saisir une chaine dau plus 20 caractres : ");
fgets(chaine,20,stdin);
printf("chaine saisie = %s\n",chaine);
}
Si la longueur de la chane tape par lutilisateur devait dpasser 20, seuls les 20 premiers
caractres seraient pris en compte. Aucune erreur de dpassement de tableau nest donc pos-
sible.
TRAVAIL A REALISER
Crer un fichier liste.h qui contiendra la dclaration de la structure LISTE ainsi que
les dclarations des fonctions xxx_liste()grant la liste que vous avez cris prcdem-
ment.
Crer un fichier liste.c qui contiendra toutes les dfinitions des fonctions
xxx_liste(). Ne pas oublier la directive #include liste.h ainsi que celles des
bibliothques dont vous avez besoin (stdio,).
Crer un fichier main.c qui contiendra la fonction main().Ne pas oublier la directive
#include liste.h ainsi que celles des bibliothques dont vous avez besoin (st-
dio,).
Crer le fichier Makefile correspondant ce programme. Compiler avec laide de
lutilitaire make.
Crer un fichier scores.txt dans le mme rpertoire o se trouve votre programme conte-
nant les lignes suivantes correspondantes aux pseudos et aux scores raliss dans des parties
prcdentes :
Toto
12000
Alfred de la Montagne
11234
pipo
7601
nom prenom
6509
Newbie
12
Faire en sorte que la liste des scores soit trie dans lordre dcroissant des scores. Le choix
de la mthode de tri est laiss au choix du programmateur (Cependant, en supposant la liste
dj trie prcdemment, il est plus judicieux dutiliser un tri par insertion). Pour chaque
nouveau score insr, on supprimera la plus mauvais des scores (de sorte conserver par
exemple que le Top 5 des scores). Cela requerra de crer des fonctions de recherche selon un
critre (infrieur au score du nouveau maillon), dinsertion dun nouveau maillon dans la
liste chane, de suppression dun maillon,
En vous aidant des premiers exemples de la bibliothque graphique fournie, modifier laffi-
chage des scores de sorte que la liste soit afficher sur une fentre graphique X11.