A voir également:
- Langage c
- Langage ascii - Guide
- Langage binaire - Guide
- Pascal langage - Télécharger - Édition & Programmation
- Langage pascal - Télécharger - Édition & Programmation
- Débuter langage batch windows - Guide
2 réponses
Gold68
Messages postés
15
Date d'inscription
dimanche 12 avril 2015
Statut
Membre
Dernière intervention
13 mars 2017
1
12 avril 2015 à 15:56
12 avril 2015 à 15:56
Vérifie que ce n'ai pas ta sourie
struct cellule { /* déclaration de la liste*/
char* mot ;
struct cellule *suiv; };
/**************************************************/
typedef struct cellule maillon;
/*********************************************************************/
maillon *allouer()
{
return(( maillon*)malloc(sizeof(maillon)));
}
/***********************************************************************/
typedef struct {
char francais[20];
char anglais[30];
maillon *liste;
}enregistrement;
//*********************************************************************//
void aff_val( maillon *p,char* ch)
{
p->mot=ch;
}
/************************************************************************/
void aff_adr( maillon *p, maillon *q)
{
p->suiv=q;
}
/***********************************************************************/
char* valeur(maillon *p)
{
return(p->mot);
}
/************************************************************************/
maillon *suivant( maillon *P) { return( P->suiv ); }
/************************************************************************/
maillon *llc(maillon**tete,char ch[256])
{ int i; char mot[20];
maillon *p=NULL; maillon*q=NULL;
p=allouer();
aff_adr(p,NULL);
char *ch1;
char *ch2;
ch1=strtok(ch,",");
aff_val(p,ch1);
printf(" %s",valeur(p));
ch2=strtok(NULL,",");
while(strcmp(ch2,".")!=0)
{
q=allouer();
aff_adr(p,q);
p=q;
aff_val(p,ch2);
printf(" %s",valeur(p)/**(*p).mot**/);
ch2=strtok(NULL,",");
}
aff_adr(p,NULL);
return *tete;
}
//**************************************************************************************************/
enregistrement remplir_tab(FILE *fich,enregistrement T[30])
{
char *chaine[256];
char mot;
int i;
maillon *p=NULL;maillon *t=NULL;
FILE* fichier;
fichier=fopen("dictionnaire.txt","r") ;
if (fichier!=NULL)
{ for(i=0; i<12/**n_ligne("dictionnaire.txt")**/; i++)
{
fseek(fichier,0,SEEK_CUR);
fscanf(fichier,"%s",chaine);
strcpy(T[i].anglais,chaine);
printf("%s\t",T[i].anglais);
fseek(fichier,1,SEEK_CUR);
fscanf(fichier,"%s",chaine);
strcpy(T[i].francais,chaine);
printf("%s\t",T[i].francais);
fseek(fichier,1,SEEK_CUR);
fscanf(fichier,"%s",chaine);
T[i].liste=llc(&p,chaine);
printf("\n");
}
fclose(fichier);
}
}
main()
{ enregistrement T[20];
maillon *p;
remplir_tab("dictionnaire.txt",T);
p=T[5].liste;
printf(" %s",valeur(p));
return 0;
}
char* mot ;
struct cellule *suiv; };
/**************************************************/
typedef struct cellule maillon;
/*********************************************************************/
maillon *allouer()
{
return(( maillon*)malloc(sizeof(maillon)));
}
/***********************************************************************/
typedef struct {
char francais[20];
char anglais[30];
maillon *liste;
}enregistrement;
//*********************************************************************//
void aff_val( maillon *p,char* ch)
{
p->mot=ch;
}
/************************************************************************/
void aff_adr( maillon *p, maillon *q)
{
p->suiv=q;
}
/***********************************************************************/
char* valeur(maillon *p)
{
return(p->mot);
}
/************************************************************************/
maillon *suivant( maillon *P) { return( P->suiv ); }
/************************************************************************/
maillon *llc(maillon**tete,char ch[256])
{ int i; char mot[20];
- tete=NULL;
maillon *p=NULL; maillon*q=NULL;
p=allouer();
aff_adr(p,NULL);
- tete=p;
char *ch1;
char *ch2;
ch1=strtok(ch,",");
aff_val(p,ch1);
printf(" %s",valeur(p));
ch2=strtok(NULL,",");
while(strcmp(ch2,".")!=0)
{
q=allouer();
aff_adr(p,q);
p=q;
aff_val(p,ch2);
printf(" %s",valeur(p)/**(*p).mot**/);
ch2=strtok(NULL,",");
}
aff_adr(p,NULL);
return *tete;
}
//**************************************************************************************************/
enregistrement remplir_tab(FILE *fich,enregistrement T[30])
{
char *chaine[256];
char mot;
int i;
maillon *p=NULL;maillon *t=NULL;
FILE* fichier;
fichier=fopen("dictionnaire.txt","r") ;
if (fichier!=NULL)
{ for(i=0; i<12/**n_ligne("dictionnaire.txt")**/; i++)
{
fseek(fichier,0,SEEK_CUR);
fscanf(fichier,"%s",chaine);
strcpy(T[i].anglais,chaine);
printf("%s\t",T[i].anglais);
fseek(fichier,1,SEEK_CUR);
fscanf(fichier,"%s",chaine);
strcpy(T[i].francais,chaine);
printf("%s\t",T[i].francais);
fseek(fichier,1,SEEK_CUR);
fscanf(fichier,"%s",chaine);
T[i].liste=llc(&p,chaine);
printf("\n");
}
fclose(fichier);
}
}
main()
{ enregistrement T[20];
maillon *p;
remplir_tab("dictionnaire.txt",T);
p=T[5].liste;
printf(" %s",valeur(p));
return 0;
}