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

Signaler
Messages postés
1
Date d'inscription
jeudi 1 mai 2003
Statut
Membre
Dernière intervention
1 mai 2003
-
Messages postés
4
Date d'inscription
samedi 12 décembre 2009
Statut
Membre
Dernière intervention
28 octobre 2010
-
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

Messages postés
351
Date d'inscription
samedi 2 février 2002
Statut
Membre
Dernière intervention
6 mai 2004
3
fopen
fget
fput

c'est les veilles fonctions C mais ça marche

be linux
Messages postés
157
Date d'inscription
jeudi 17 octobre 2002
Statut
Membre
Dernière intervention
11 septembre 2004

utilise read();
Krox >:)
Messages postés
1
Date d'inscription
mardi 6 janvier 2004
Statut
Membre
Dernière intervention
6 janvier 2004

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
Messages postés
4
Date d'inscription
samedi 12 décembre 2009
Statut
Membre
Dernière intervention
28 octobre 2010

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