From 9563412ad7a8479a80c8def185e9c4c658767697 Mon Sep 17 00:00:00 2001 From: yoboujon Date: Fri, 25 Nov 2022 15:45:09 +0100 Subject: [PATCH] Ajout des joueurs sous fichier .txt et des fonctions pour lire ce dernier --- Makefile | 5 +- fichier_coureurs.txt | 134 +++++++++++++++++++++++++++++++++++++++++++ header/readfile.h | 7 +++ src/liste.c | 37 ++---------- src/readfile.c | 26 +++++++++ 5 files changed, 175 insertions(+), 34 deletions(-) create mode 100644 fichier_coureurs.txt create mode 100644 header/readfile.h create mode 100644 src/readfile.c diff --git a/Makefile b/Makefile index 264f465..3bd3e1a 100644 --- a/Makefile +++ b/Makefile @@ -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) diff --git a/fichier_coureurs.txt b/fichier_coureurs.txt new file mode 100644 index 0000000..9fc0a00 --- /dev/null +++ b/fichier_coureurs.txt @@ -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 \ No newline at end of file diff --git a/header/readfile.h b/header/readfile.h new file mode 100644 index 0000000..0c1d30a --- /dev/null +++ b/header/readfile.h @@ -0,0 +1,7 @@ +#include +#include +#include +#include + +int getNbLines(FILE * readFile); +char * getLines(FILE * readFile,int nbLines); \ No newline at end of file diff --git a/src/liste.c b/src/liste.c index b8234eb..89f16ea 100644 --- a/src/liste.c +++ b/src/liste.c @@ -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; } diff --git a/src/readfile.c b/src/readfile.c new file mode 100644 index 0000000..d5d2cdf --- /dev/null +++ b/src/readfile.c @@ -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