Besoin d'aide pour creer et classer des listes dans un fichier

nightdragon182 Messages postés 1 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 3 février 2005 - 3 févr. 2005 à 20:18
dida87 Messages postés 8 Date d'inscription mardi 12 janvier 2010 Statut Membre Dernière intervention 6 janvier 2011 - 7 juin 2010 à 22:02
Voila on doit creer des listes avec nom prenom et date de naissance et je ne sais pas trop comment il faut s'y prendre j'ai fait qqchose mais ca marche totalement il faut faire :
1.Lire et afficher le contenu d un fichier
ou message erreur
2.Creer un fichier
=>Message
3.Ajouter une fiche dans le fichier
4.Supprimer une fiche
5.Trier les fiches
6.Quitter

Et j'ai fait :
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
int main()
{
FILE *fichier01;
char c,nomfichier[40];
int fiche,i,j;


puts("Emplacement du fichier?:\n");
gets(nomfichier);
fichier01=fopen(nomfichier,"w+");


puts("Nombre de fiches?:\n");
scanf("%d",&fiche);


for (i=1;i<=fiche;i++)
{printf("Nom,Prenom,Age personne fiche n°%d:\n",i);
for(j=1;j<=3;j++)
{printf("Donnee N°%d\n",j);
scanf("%c#",&c);
putc(c,fichier01);
}
}
fclose(fichier01);
system("PAUSE");
return 0;
}

MERCI D 'AVANCE

2 réponses

Spiffou Messages postés 100 Date d'inscription jeudi 1 avril 2004 Statut Membre Dernière intervention 9 juin 2014 1
3 févr. 2005 à 20:54
tu pourrais utiliser une liste chainée.



commence par creer une structure de donné fiche ca sera plus propre,
ensuite fait toi une mini GUI avec la console et code des fonctions
pour faciliter la programmation.



une liste chainee, c'est une structure qui contient un pointeur vers un element de même type

exemple:

struct fiche

{

int id;

char * nom;

char *prenom;

int age;

struct fiche *suivant;

struct fiche *precedent;

}



ensuite, tu remplis un à un tes elements et une fois que tu en as marre, tu ecris tt dans le fichier.

pour recuperer tes données, il te suffit de parser ton fichier (puisque
tu sais comment tu as ecris les données c'est facile) utilise strtok()
(il faut include string.h) c'est assez pratique et recupere tous les
elements de ta liste et tu la recrée en RAM.



grace à cette liste, tu peut facilement trier et inserer des elements.



si tu n'est pas à l'aise ou que ca te semble trop compliqué, utilise un
tableau de structure fiche mais alors ca sera pas dynamique et donc
pénible à gérer pour ajouter des elements à la volée.



bon courage

++
0
dida87 Messages postés 8 Date d'inscription mardi 12 janvier 2010 Statut Membre Dernière intervention 6 janvier 2011
7 juin 2010 à 22:02
bonjour, est ce qu'il ya une possibilite pour charger des lignes d'un fichier texte dans une liste chainnee,aidez moi svp.merci
0
Rejoignez-nous