mimineee a écrit :
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <process.h>
#define ESC 27
//****************************************************************************
typedef struct definition
{
char t[256];
}definition;
typedef definition *defi ;
typedef struct arbre
{
char car;
arbre *frere;
arbre *fils;
defi def;
}arbre;
typedef arbre *ptr ;
char i='1';
ptr r=NULL,l=NULL,p=NULL;
//***********************les prototyes****************************************
void menu();
void creer();
void inserer_mot();
void inserer_caractere(char *);
void afficher();
//*****************************************************************************
void creer()
{
ptr n=r;
defi d;
clrscr();
p=(ptr)malloc(sizeof(arbre));
d=(defi)malloc(sizeof(definition));
gotoxy(10,12);printf("entrez une definition pour votre arbre :" );
scanf("%s",d->t);
p->car=i;
p->frere=NULL;
p->fils=NULL;
p->def=d;
if(r==NULL)
{
r=p;
}
else
{
while(n->frere!=NULL)
n=n->frere;
n->frere=p;
}
n=r;
/*while(n!=NULL)
{
printf("%c %s",n->car,n->def->t);
n=n->frere;
getch();
}*/
i++;
}
//**************************************inserer un mot********************************
void inserer_mot()
{
defi d;
int j=0;
char a[20];
l=r->fils;
clrscr();
printf("entrez le mot a inserer" );
scanf("%s",&a);
inserer_caractere(&a);
d=(defi)malloc(sizeof(definition));
printf("donnez la definition" );
scanf("%s",d->t);
l->def=d;
}
//***************void inserer caractére**************************************
void inserer_caractere(char c,int j)
{
int j=0;
if(l==NULL)
{
l=(ptr)malloc(sizeof(arbre));
l->fils=NULL;
l->frere=NULL;
l->def=NULL;
}
else
{
if(l->car!=c)
{
l=l->frere;
j++;
inserer_caractere(c[j]);
}
else
{
l=l->fils;
j++;
inserer_caractere(c[j]);
}
}
}
}
//**************************************afficher un mot******************************
void afficher()
{
/*if(l->fils!=NULL)
{
printf("%c",l->car);
l=l->fils;
afficher();
}
else if(l->def!=NULL)
{
printf("%s",l->def->t);
printf("\n" );
}
else
{
printf("%c",l->car);
l=l->frere;
afficher();
}*/
printf("%c",l->car);
l=l->fils;
getch();
printf("%c",l->car);
l=l->fils; getch();
printf("%c",l->car);
l=l->fils; getch();
printf("%c",l->car);
}
//**************************************supprimer un arbre****************************
//**************************************programe principle****************************
void menu()
{
char choix;
do{
clrscr();
gotoxy(10,10);printf("<1> creer un arbre" ); //*******************
gotoxy(10,12);printf("<2> supprimer un arbre" );
gotoxy(10,14);printf("<3> GESTON D'UN ARBRE" ); //menu principal
gotoxy(13,16);printf("<4> QUITTER" ); //*******************
choix=getch();
clrscr();
switch(choix)
{
case'1':printf("<1> creer un arbre" );
creer();
getch();
break;
case'2':printf("<2> supprimer un arbre" );
inserer_mot();
getch();
break;
case'3':printf("<3> GESTON D'UN ARBRE" );
l=r->fils;
clrscr();
afficher();
getch();
break;
}
}while(choix!=ESC);
}
void main()
{
ptr p=r;
clrscr();
menu();
clrscr();
getch();
}
ah oui vous avez raison cparce que c est lapemiere fois ou je vais m inscrire dans un forum mnt c bon
|