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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
| #include <stdio.h>
#include <time.h>
#include <stdlib.h>
typedef struct sommet{char* nom;
int zone; // 0 si zone blanche, 1 si zone grise
struct sommet *listSom;
struct sommet *suiv;
}station;
station *premier;
typedef station *liste_station;
liste_station creerstation(char *nomstation)
{
liste_station l;
l=(liste_station)malloc(sizeof(station));
l->nom=nomstation;
l->suiv=NULL;
return l;
}
liste_station add_station(liste_station nouveau,liste_station premier)
{if (nouveau != NULL)
{nouveau->suiv=premier;
return nouveau;
}
else return premier;
}
void afficherstation (liste_station premier)//on affiche une liste de station en commençant par la valeur du premier element de la liste puis on rappel afficher avec la veleur suivznte comme premier element
{
if (premier!=NULL)
{printf("%s ", premier->nom);
afficherstation(premier->suiv);
}}
liste_station lesstations()
{
liste_station unelistedestation=NULL;
liste_station nouveau_station;
int i;
char *fnom;
FILE *datastat;
datastat=fopen("reseauA.dat","r");
while(!feof(datastat))
{
fscanf(datastat,"%s",fnom);
nouveau_station=creerstation(fnom);
unelistedestation=add_station(nouveau_station,unelistedestation);
fclose(datastat);
return unelistedestation;
}
main()
{
liste_station unestation=NULL;
liste_station nouveau;
liste_station test;
printf("les stations sont en cours");
test=lesstations();
printf("les stations sont fini");
printf("\n");
afficherstation(test);
system("pause");
} |
Partager