J'ai essayé de créer une structure mais je ne comprends pas pourquoi elle ne fonctionne pas.
Elle contient un nom de station, un pointeur vers l'élément suivant et un autre sur l'élément précédent.
J'ai créé une fonction qui normalement devrait remplir une ligne de métro avec un char* ligneN [X]={"",""} mais elle ne veut pas fonctionner, je ne vois pas pourquoi! Et bien entendu Ma fonction affich non plus! raz le bol :'(
Voyez vous ce qui cloche?
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char* ligne1 [25]={"ladefense","esplanadedeladefense","pontdeneuilly","lessablons","portemaillot","argentine","charlesdegaulleetoile","georgev","franklindroosevelt","champselyseesclemenceau","concorde","tuileries","palaisroyalmuséedulouvre","louvrerivoli","châtelet","hôteldeville","saintpaul","bastille","garedelyon","reuillydiderot","nation","portedevincennes","saintmande","berault","chateaudevincennes"};
char* ligne2 [25]={"portedauphine","victorhugo","charlesdegaulleetoile","ternes","courcelles","monceau","villiers","rome","placedeclichy","blanche","pigalle","anvers","barbèsrochechouart","lachapelle","stalingrad","jaures","colonelfabien","belleville","couronnes","menilmontant","perelachaise","philippeauguste","alexandredumas","avron","nation"};
char* ligne5 [22]={"bobignypablopicasso","bobignypantinraymondqueneau","eglisedepantin","hoche","portedepantin","ourcq","laumière","jaures","stalingrad","garedunord","garedelest","jacquesbonsergent","republique","oberkampf","richardlenoir","breguetsabin","bastille","quaidelarapee","garedausterlitz","saintmarcel","campoformio","placeditalie"};
char* ligne11 [13]={"chatelet","hoteldeville","rambuteau","artsetmetiers","republique","goncourt","belleville","pyrenees","jourdain","placesdefetes","telegraphe","portedeslilas","mairiedeslilas"};
char* ligne9 [37]={"pontdesevres","billancourt","marcelsembat","portedesaintcloud","exelmans","michelangemolitor","michelangeauteuil","jasmin","ranelagh","lamuette","ruedelapompe","trocadero","iena","almamarceau","franklindroossevelt","saintphilipeduroule","miromesnil","saintaugustin","havrecaumartin","chausseedantinlafayette","richelieudrouot","grandsboulevards","bonnenouvelle","strasbourgsaintdenis","république","oberkampf","saintambroise","voltaire","charonne","ruedesboulets","nation","buzenval","maraichers","portedemontreuil","robespierre","croixdechavaux","mairiedemontreuil"};
char* ligne8 [37]={"balard","lourmel","boucicaut","felixfaure","commerce","lamottepicquetgrenelle","ecolemilitaire","latourmaubourg","invalides","concorde","madeleine","opera","richelieudrouot","grandsboulevards","bonnenouvelle","strasbourgsaintdenis","republique","fillesducalvaire","saintsebastienfroissart","cheminvert","bastille","ledrurollin","faidherbechlaigny","reuillydiderot","montgallet","daumesnil","michelbizot","portedoree","portedecharanton","liberte","charantonecoles","ecoleveterinaire","maisonalfortstade","maisonalfortlesjuilliottes","creteillechat","creteiluniversite","creteilprefecture"};
struct Station{
char* nomStation[100];
struct station* suiv;
struct station* prec;
};
typedef struct Station* LigneMetro;
LigneMetro remplir(LigneMetro l;char* lignen){
int i;
struct LigneMetro* l;
l=malloc(sizeof(struct LigneMetro));
for(i=0;i<25;i++){
strcpy(l->nomStation,lignen[i]);
l->suiv=l
}
return l;
}
void affiche(LigneMetro l){
int i;
for(i=0;i<25;i++){
printf("%s",l->nomStation);
l=l->suiv;
}
}
int main(){
remplir(ligne1;ligne1);
affiche(ligne1);
return 0;
}