Lecture d'un fichier texte pour mettre dans une liste chainée

webgladiator Messages postés 1 Date d'inscription jeudi 1 mai 2003 Statut Membre Dernière intervention 1 mai 2003 - 1 mai 2003 à 18:18
cs_cheickis Messages postés 4 Date d'inscription samedi 12 décembre 2009 Statut Membre Dernière intervention 28 octobre 2010 - 28 oct. 2010 à 21:43
Merci de prendre du temps à me lire.
J'ai un projet d'info dont le but est d'effectuer le plus court itinéraire dans le metro parisien (opimisation).
J'ai déjà regardé dans les sources et j'en ai trouvé une qui se refere à ce sujet mais j'ai une consigne particulière à respecter : le nom des stations doit etre dans un fichier texte (le programme est donc souple et on pourra l'utiliser pour d'autres métro)
mais il se trouve que pour effectuer mon programme je n'arrive pas à rentrer chaque ligne de mon fichier texte dans une liste chainée...
Si quelqu'un a la solution je lui serai vraiment reconnaissant.

WeB gLaDiAtOr

4 réponses

lpikachu58 Messages postés 351 Date d'inscription samedi 2 février 2002 Statut Membre Dernière intervention 6 mai 2004 2
1 mai 2003 à 19:23
fopen
fget
fput

c'est les veilles fonctions C mais ça marche

be linux
0
Krox68 Messages postés 157 Date d'inscription jeudi 17 octobre 2002 Statut Membre Dernière intervention 11 septembre 2004 1
1 mai 2003 à 20:08
utilise read();
Krox >:)
0
tuturfr Messages postés 1 Date d'inscription mardi 6 janvier 2004 Statut Membre Dernière intervention 6 janvier 2004
6 janv. 2004 à 15:45
au secours moi aussi,
j ai aussi un projet d'info dont le but est d'effectuer le plus court itinéraire dans le metro parisien.mais je suis super débutant et pas super resistant!!!
j y arrive pas. Si vous pouviez me guider pour que j y arrive en m envoyant les choses que vous avez faite ca serait super...c est pour le 21 janvier.
merci d avance
Arthur
0
cs_cheickis Messages postés 4 Date d'inscription samedi 12 décembre 2009 Statut Membre Dernière intervention 28 octobre 2010
28 oct. 2010 à 21:43
salut
j'ai eu un tp pareil que le tiens
je te conseil fscanf
sa marche bien
voici un bout de code que tu peux exploiter

//fonction qui ajout un elment ici coureur
void ajouter_coureur(Liste_coureur *LC,coureur *c)
{
coureur *parcour;//variable pour parcourir la liste chain‚e
parcour=LC->tete;
c->suivant=NULL;
while(parcour->suivant !=NULL) parcour=parcour->suivant;
parcour->suivant=c;

}



//fonction pour lister
void Lister_coureur(Liste_coureur *LC)
{
// int n;
coureur *el=LC->tete;//variable qui va permetree de parcourir la liste chain‚e
//n=O;
while(el!=NULL)
{
printf("%d %s %s %s %s %d %d %d %d %d %d %d\n\n\n",el->dossard,el->nom,el->prenom,el->pays,el->cat,el->tempsdepart.heure,el->tempsdepart.minute,el->tempsdepart.seconde ,el->tempsarrive.heure,el->tempsarrive.minute,el->tempsarrive.seconde,el->tempsarrive.tmis);
el=el->suivant;
n++;// au passage on compte egalement le nombre d'element
}

printf("%d",n);
}
void Extract(Liste_coureur *LC)
{

FILE *F_IN,F_IN1;

coureur *p;

if((F_IN=fopen(ENTREE,"r"))==NULL)
{
fprintf(stderr,"Erreur,impossible de lire le fichier: %s",ENTREE);
return EXIT_FAILURE;
}

while(!feof(F_IN)){
p=creernouveaucoureur();
fscanf(F_IN,"%d%s%s%s%s%d%d%d%d%d%d",&p->dossard,p->nom,p->prenom,p->pays,p->cat,&p->tempsdepart.heure,&p->tempsdepart.minute,&p->tempsdepart.seconde,&p->tempsarrive.heure,&p->tempsarrive.minute,&p->tempsarrive.seconde);

inserercoureur(LC,p);//petite fonction qui fait une insertion en tete

}


Lister_coureur(LC);// pour afficher la liste chainée

fclose(F_IN);

}
courage
0
Rejoignez-nous