1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct Bidon {
int numDossard;
char *nom;
char *prenom;
int age;
float note;
struct Bidon *ptr_sv;
}SKIEUR;
// Tableau de skieurs à entrer dans la liste chaînée
SKIEUR tabskieur[] = {
{1515,"Zagoridis","Constantin",68,12.5},
{1984,"Dambakizi","Apollinaire",45,8.25},
{1789,"Weisberger","Aristide",18,11.75},
{1793,"Bianchini","Dominique",78,7.5},
{1968,"Younsi","Abdelkader",14,8.25},
{1418,"Thalabarski","Igor",71,12.5},
{1111,"Dupont","Marcel",73,13.},
{9969,"Bianchini","Ange",81,7.5}
};
int nbSkibis = 8;
// Fonction qui créé une liste chaînée et qui renvoie le pointeur de début de la liste
SKIEUR* CreationListeChainee (){
SKIEUR *debut, *a;
int i;
debut = (SKIEUR*) malloc(sizeof(SKIEUR));
a = debut;
// Remplissage de la liste chaînée avec les données du tableau tab
for (i=0;i<nbSkibis;i++){
a->numDossard = tabskieur[i].numDossard;
a->nom = tabskieur[i].nom;
a->prenom = tabskieur[i].prenom;
a->age = tabskieur[i].age;
a->note = tabskieur[i].note;
a->ptr_sv = (SKIEUR*) malloc(sizeof(SKIEUR)); // Création de l'élément suivant
a = a->ptr_sv;
}
a->ptr_sv = NULL; // Fin de chaînage
return debut;
} |
Partager