Ajout des joueurs sous fichier .txt et des fonctions pour lire ce dernier

This commit is contained in:
yoboujon 2022-11-25 15:45:09 +01:00
parent 54d921193a
commit 9563412ad7
5 changed files with 175 additions and 34 deletions

View file

@ -6,7 +6,7 @@ CLEAN=clean
all: $(EXEC) exec
main: liste.o coureur.o
main: liste.o coureur.o readfile.o
$(CC) $(CFLAGS) -o $@ $^
liste.o: src/liste.c
@ -15,6 +15,9 @@ liste.o: src/liste.c
coureur.o: src/coureur.c
$(CC) $(CFLAGS) -c $^
readfile.o: src/readfile.c
$(CC) $(CFLAGS) -c $^
clean:
rm -rf *.o
rm $(EXEC)

134
fichier_coureurs.txt Normal file
View file

@ -0,0 +1,134 @@
21
22
Team Sky
1,Froome,Christopher
2,Henao,Sergio Luis
9,Thomas,Geraint
5,Nieve,Mikel
6,Poels,Wouter
Movistar Team
11,Quintana,Nairo
12,Valverde,Alejandro
18,Moreno Fernandez,Daniel
17,Izaguirre,Ion
13,Anacona Gomez,Winner Andrew
Astana Pro Team
21,Aru,Fabio
25,Kangert,Tanel
22,Nibali,Vincenzo
27,Rosa,Diego
28,Sanchez Gil,Luis-Leon
Tinkoff
36,Kreuziger,Roman
37,Majka,Rafal
35,Kiserlovski,Robert
39,Valgren Andersen,Michael
32,Sagan,Peter
Ag2r La Mondiale
41,Bardet,Romain
49,Vuillermoz,Alexis
48,Pozzovivo,Domenico
42,Bakelants,Jan
43,Cherel,Mikael
Team Lotto Nl - Jumbo
51,Kelderman,Wilco
52,Bennett,George
54,Lindeman,Bert Jan
55,Martens,Paul
57,Vanmarcke,Sep
Trek - Segafredo
61,Mollema,Bauke
69,Zubeldia,Haimar
65,Schleck,Frank
66,Stetina,Peter
67,Stuyven,Jasper
Iam Cycling
72,Clement,Stef
79,Pantano,Jarlinson
74,Elmiger,Martin
73,Coppel,Jerome
78,Naesen,Oliver
Cannondale Drapac Team
81,Rolland,Pierre
88,Slagter,Tom Jelte
89,Van Baarle,Dylan
83,Craddock,Lawson
84,Howes,Alex
Bmc Racing Team
91,Porte,Richie
94,Caruso,Damiano
99,Van Garderen,Tejay
98,Van Avermaet,Greg
96,Moinard,Amael
Team Dimension Data
107,Pauwels,Serge
109,Teklehaimanot,Daniel
103,Boasson Hagen,Edvald
106,Janse Van Rensburg,Reinardt
102,Berhane,Natnael
Team Giant-Alpecin
111,Barguil,Warren
116,Preidler,Georg
115,Geschke,Simon
118,Ten Dam,Laurens
112,Curvers,Roy
Fdj
126,Reichenbach,Sebastien
124,Morabito,Steve
127,Roux,Anthony
129,Vichot,Arthur
128,Roy,Jeremy
Bora-Argon 18
131,Buchmann,Emanuel
136,Huzarski,Bartosz
137,Konrad,Patrick
133,Barta,Jan
139,Voss,Paul
Team Katusha
141,Rodriguez Oliver,Joaquin
149,Zakarin,Ilnur
145,Losada,Alberto
148,Vicioso,Angel
144,Kristoff,Alexander
Lampre - Merida
157,Meintjes,Louis
151,Faria Da Costa,Rui Alberto
155,Durasek,Kristijan
159,Polanc,Jan
156,Grmay,Tsgabu Gebremaryam
Lotto Soudal
163,De Gendt,Thomas
165,Gallopin,Tony
166,Hansen,Adam
168,Roelandts,Jurgen
161,Greipel,Andre
Direct Energie
172,Chavanel,Sylvain
175,Jeandesboz,Fabrice
179,Voeckler,Thomas
177,Sicard,Romain
173,Duchesne,Antoine
Etixx-Quick Step
184,Martin,Daniel
182,Alaphilippe,Julian
189,Vermote,Julien
188,Vakoc,Petr
183,Keisse,Iljo
Cofidis, Solutions Credits
198,Mate Mardones,Luis Angel
195,Jeannesson,Arnold
194,Edet,Nicolas
193,Cousin,Jerome
197,Lemoine,Cyril
Orica-Bikeexchange
209,Yates,Adam
205,Impey,Daryl
208,Plaza Molina,Ruben
207,Matthews,Michael
203,Durbridge,Luke
Fortuneo - Vital Concept
211,Sepulveda,Eduardo
214,Feillu,Brice
218,Sorensen,Chris Anker
213,Delaplace,Anthony
217,Perichon,Pierre-Luc

7
header/readfile.h Normal file
View file

@ -0,0 +1,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
int getNbLines(FILE * readFile);
char * getLines(FILE * readFile,int nbLines);

View file

@ -1,40 +1,11 @@
#include "../header/liste.h"
#include "../header/readfile.h"
int main(void)
{
coureur * c1 = creerCoureur("Paris","Simon",15,"TRAUFORE",50000);
coureur * c2 = creerCoureur("Bougeont","Yoann",65,"MEILLEUR",99994);
coureur * c3 = creerCoureur("Barakai","Obama",120,"AMERICA",372);
coureur * c4 = creerCoureur("Boujon","Yohan",56,"MAISYEUR",49999);
coureur * c5 = creerCoureur("Runner","Tedi",1,"JUDOOOKA",120);
coureur * c6 = creerCoureur("Fatigue","Jean",69,"DODODODO",11554751);
printf(" -- COUREUR -- \n");
afficherCoureur(c1); //Afficher les champs de la structure coureur c1
ajouterTemps(50,c1); //Ajoutee 50 seconde dans le champ temp de c1
afficherCoureur(c1); //Afficher les champs de la structure coureur c1
liste l1 = initListe(); //declaration de la liste l1 et initialisation
ajoutListe(&l1,c1); //ajout d'un element contenat c1 dans liste l1(a partir de son adresse modfication a la maniere d'une variable global)
ajoutListe(&l1,c2); //ajout d'un element contenat c2 dans liste l1(a partir de son adresse modfication a la maniere d'une variable global)
ajoutListe(&l1,c3); //ajout d'un element contenat c3 dans liste l1(a partir de son adresse modfication a la maniere d'une variable global)
ajoutListe(&l1,c4); //ajout d'un element contenat c4 dans liste l1(a partir de son adresse modfication a la maniere d'une variable global)
ajoutListe(&l1,c5); //ajout d'un element contenat c5 dans liste l1(a partir de son adresse modfication a la maniere d'une variable global)
ajoutListe(&l1,c6); //ajout d'un element contenat c6 dans liste l1(a partir de son adresse modfication a la maniere d'une variable global)
printf(" -- AJOUT LISTE, taille =%d -- \n",tailleListe(l1)); //affichee le nombre d'element dans la liste
printlist(l1); //affiche tous les coureurs contenue dans les elements d'une liste
effacerCoureur(&l1,c2); //suprime un element(a partir de l'adresse d'un coureur) dans la liste sans briser le chainage
printf(" -- SUPR LISTE, taille =%d -- \n",tailleListe(l1)); //affichee le nombre d'element dans la liste
printlist(l1); //affiche tous les coureurs contenue dans les elements d'une liste
printf(" -- INTERVERTI COUREUR 1 ET 2 DE LA LISTE -- \n");
invertCoureur(&l1,1); //intervertire l'element 1 et 2 dans la liste l1 (on considere un element 0)
printlist(l1); //affiche tous les coureurs contenue dans les elements d'une liste
printf(" -- INTERVERTI COUREUR 0 ET 1 DE LA LISTE -- \n");
invertCoureur(&l1,0); //intervertire l'element 0 et 1 dans la liste l1 (on considere un element 0)
printlist(l1); //affiche tous les coureurs contenue dans les elements d'une liste
printf(" -- COUREUR 2 DE LA LISTE -- \n");
afficherCoureur(getCoureur(l1,2)); //affiche le coureur contenue dans l'element 2 de la liste (on considere un element 0)
printf(" -- TRI LISTE -- \n");
triListe(&l1,tailleListe(l1)); //trie les element de la liste sans briser le chainage, trie pas rapport au temps dans la structure courreur encaspulee dans les elements
printlist(l1); //affiche tous les coureurs contenue dans les elements d'une liste
FILE * f=fopen ("fichier_coureurs.txt","r");
//printf("Number of lines : %d\n",getNbLines(f));
getLines(f,getNbLines(f));
return 0;
}

26
src/readfile.c Normal file
View file

@ -0,0 +1,26 @@
#include "../header/readfile.h"
int getNbLines(FILE * readFile)
{
int c,count=0;
do{
c=getc(readFile);
if(c == 0xa)
{
count++;
}
}while(c!=0xffffffff);
return count+1;
}
char * getLines(FILE * readFile,int nbLines)
{
int i;
char str[100];
fseek(readFile,0,0);
for(i=0;i<nbLines;i++)
{
fgets(str,100,readFile);
printf("%s",str);
}
}