diff --git a/src/ajout_liste.c b/src/ajout_liste.c new file mode 100644 index 0000000..50b2146 --- /dev/null +++ b/src/ajout_liste.c @@ -0,0 +1,187 @@ +//By Bianca and Mathis + +//Ce programme permet : +//Avec un tableau de char[] donné peut créer une personne et l'ajouter a une liste. + +#include +#include +#include +#include +#include + + +//Le struct de personne: +typedef struct Personne Personne; +struct Personne { + int athId; + int regId; + int divId; + char* lastName; + char* firstName; + char gender; + int age; + char* weight; + char* height; + int affiliateId; + char* affiliateName; + int overallScrore; + int overallRank; + int score18_1; + char* scoreDisplay18_1; + int rank18_1; + int score18_2; + char* scoreDisplay18_2; + int rank18_2; + int score18_2a; + char* scoreDisplay18_2a; + int rank18_2a; + int score18_3; + char* scoreDisplay18_3; + int rank18_3; + int score18_4; + char* scoreDisplay18_4; + int rank18_4; + int score18_5; + char* scoreDisplay18_5; + int rank18_5; + Personne* suivant;}; + +typedef Personne* Liste; + + + +/************************************************************************/ +//Gestion de listes +void ajout_tete(Liste *l, Personne P) +{ + Personne *p; + p= malloc(sizeof(Personne)); + + p->athId = P.athId; + p->regId = P.regId; + p->divId = P.divId; + p->lastName = P.lastName; + p->firstName = P.firstName; + p->gender = P.gender; + p->age = P.age; + p->weight = P.weight; + p->height = P.height; + p->affiliateId = P.affiliateId; + p->affiliateName = P.affiliateName; + p->overallScrore = P.overallScrore; + p->overallRank = P.overallRank; + p->score18_1 = P.score18_1; + p->scoreDisplay18_1 = P.scoreDisplay18_1; + p->rank18_1 = P.rank18_1; + p->score18_2 = P.score18_2; + p->scoreDisplay18_2 = P.scoreDisplay18_2; + p->rank18_2 = P.rank18_2; + p->score18_2a = P.score18_2a; + p->scoreDisplay18_2a = P.scoreDisplay18_2a; + p->rank18_2a = P.rank18_2a; + p->score18_3 = P.score18_3; + p->scoreDisplay18_3 = P.scoreDisplay18_3; + p->rank18_3 = P.rank18_3; + p->score18_4 = P.score18_4; + p->scoreDisplay18_4 = P.scoreDisplay18_4; + p->rank18_4 = P.rank18_4; + p->score18_5 = P.score18_5; + p->scoreDisplay18_5 = P.scoreDisplay18_5; + p->rank18_5 = P.rank18_5; + + p->suivant = *l; + *l=p; +} + +void suppr_tete(Liste *l) +{ + Personne* a_suppr = *l; + *l = (*l)->suivant; + free(a_suppr); +} + +void affiche_personne(Personne P) +{ + printf("%s %s %d %c \n", P.lastName, P.firstName, P.overallScrore, P.gender); +} + +void affiche_liste(Liste l) +{ + Liste tmp = l; + + if(tmp==NULL) + { + printf("Liste de personne vide\n"); + return; + } + + while(tmp != NULL) + { + affiche_personne(*tmp); + tmp = tmp->suivant; + } + printf("\n"); +} + +/************************************************************************/ + + + +void remplissage_personne(char* tab_char[], Personne *P) +{ + P->athId = atoi(tab_char[0]); + P->regId = atoi(tab_char[1]); + P->divId = atoi(tab_char[2]); + P->lastName = tab_char[3]; + P->firstName = tab_char[4]; + P->gender = *tab_char[5]; + P->age = atoi(tab_char[6]); + P->weight = tab_char[7]; + P->height = tab_char[8]; + P->affiliateId = atoi(tab_char[9]); + P->affiliateName = tab_char[10]; + P->overallScrore = atoi(tab_char[11]); + P->overallRank = atoi(tab_char[12]); + P->score18_1 = atoi(tab_char[13]); + P->scoreDisplay18_1 = tab_char[14]; + P->rank18_1 = atoi(tab_char[15]); + P->score18_2 = atoi(tab_char[16]); + P->scoreDisplay18_2 = tab_char[17]; + P->rank18_2 = atoi(tab_char[18]); + P->score18_2a = atoi(tab_char[19]); + P->scoreDisplay18_2a = tab_char[20]; + P->rank18_2a = atoi(tab_char[21]); + P->score18_3 = atoi(tab_char[22]); + P->scoreDisplay18_3 = tab_char[23]; + P->rank18_3 = atoi(tab_char[24]); + P->score18_4 = atoi(tab_char[25]); + P->scoreDisplay18_4 = tab_char[26]; + P->rank18_4 = atoi(tab_char[27]); + P->score18_5 = atoi(tab_char[28]); + P->scoreDisplay18_5 = tab_char[29]; + P->rank18_5 = atoi(tab_char[30]); + +} + + + + +int main(int argc, char * argv[]) +{ + Personne P; + Liste liste_personne = NULL; + + char* tab_char[] = {"584058","11","2","Hoffer","Melanie","F","29","130 lb","66 in","10942","CrossFit Dix Hills","90506","6989","12590000","259 reps","23254","11100195","8:45","37027","11700195","170 lb","11594","13520090","352 reps","7971","11110058","111 reps","6105","11010000","101 reps","4555"}; + remplissage_personne(tab_char, &P); + ajout_tete(&liste_personne, P); + + tab_char[3] = "Mathis"; + tab_char[4] = "Dupre"; + remplissage_personne(tab_char, &P); + ajout_tete(&liste_personne, P); + + affiche_liste(liste_personne); + + printf("Done\n"); + return 0; +} \ No newline at end of file -- libgit2 0.21.2