- NOEUD *abr; /* on peut travailler sur 3 arbres */
- NOEUD *abr2 = NULL;
- char c;
- int i, j;
- element x;
- char nom_fich[20];
- FILE *fich;
-
-printf("Commandes (une lettre) possibles : v arbre_vide ; r rechercher ; i inserer ; c copier ; d detruire ; a afficher contenu ; A affiche arborescence ; s supprimer ; C charger ; S sauvegarder)\n");
-
- do {
- printf("Commande ? ");
- c = getchar();
- switch(c)
- {
- case 'v' : abr = arbre_vide(); break;
-
- case 'r' : printf("indiquer l'element a rechercher : ");
- scanf("%d",&x);
- if (recherche(abr,x) == 0) printf("pas trouve\n");
- else printf("trouve\n");
- break;
-
- case 'i' : printf("indiquer l'element a inserer : ");
- scanf("%d",&x);
- abr = insere(abr,x);
- break;
-
- case 'c' : abr2 = copie_arbre(abr);
- break;
-
- case 'd' : abr = detruis_arbre(abr);
- if(abr2) abr2 = detruis_arbre(abr2);
- break;
-
- case 'a' : affiche(abr);
- if(abr2) {printf("\nLa copie : \n");
- affiche(abr2);};
- break;
-
- case 'A' : affiche_arbre(abr,1);
- if(abr2) {printf("\nLa copie : \n");
- affiche_arbre(abr2,1);};
- break;
-
- case 's' : printf("indiquer l'element a supprimer : ");
- scanf("%d",&x);
- abr = supprime(abr,x);
- break;
-
- case 'C' : printf("indiquer le nom de fichier pour le chargement : ");
- scanf("%s",nom_fich);
- if ((fich = fopen(nom_fich,"rb")) != NULL)
- {abr = (NOEUD *)malloc(sizeof(NOEUD));
- abr = charge(abr,fich);
- fclose(fich);
- };
- break;
-
- case 'S' : printf("indiquer le nom de fichier pour la sauvegarde : ");
- scanf("%s",nom_fich);
- if ((fich = fopen(nom_fich,"wb")) != NULL)
- {abr = sauve(abr,fich);
- abr = NULL;
- fclose(fich);
- };
- break;
-
- case 'q' : exit(0);
- }
- printf("\n"); c = getchar();
- }
- while (1);
+ NOEUD *abr; /* on peut travailler sur 3 arbres */
+ NOEUD *abr2 = NULL;
+ char c;
+ int i, j;
+ element x;
+ char nom_fich[20];
+ FILE *fich;
+
+ printf
+ ("Commandes (une lettre) possibles : v arbre_vide ; r rechercher ; i inserer ; c copier ; d detruire ; a afficher contenu ; A affiche arborescence ; s supprimer ; C charger ; S sauvegarder)\n");
+
+ do {
+ printf("Commande ? ");
+ c = getchar();
+ switch (c) {
+ case 'v':
+ abr = arbre_vide();
+ break;
+
+ case 'r':
+ printf("indiquer l'element a rechercher : ");
+ scanf("%d", &x);
+ if (recherche(abr, x) == 0)
+ printf("pas trouve\n");
+ else
+ printf("trouve\n");
+ break;
+
+ case 'i':
+ printf("indiquer l'element a inserer : ");
+ scanf("%d", &x);
+ abr = insere(abr, x);
+ break;
+
+ case 'c':
+ abr2 = copie_arbre(abr);
+ break;
+
+ case 'd':
+ abr = detruis_arbre(abr);
+ if (abr2)
+ abr2 = detruis_arbre(abr2);
+ break;
+
+ case 'a':
+ affiche(abr);
+ if (abr2) {
+ printf("\nLa copie : \n");
+ affiche(abr2);
+ };
+ break;
+
+ case 'A':
+ affiche_arbre(abr, 1);
+ if (abr2) {
+ printf("\nLa copie : \n");
+ affiche_arbre(abr2, 1);
+ };
+ break;
+
+ case 's':
+ printf("indiquer l'element a supprimer : ");
+ scanf("%d", &x);
+ abr = supprime(abr, x);
+ break;
+
+ case 'C':
+ printf("indiquer le nom de fichier pour le chargement : ");
+ scanf("%s", nom_fich);
+ if ((fich = fopen(nom_fich, "rb")) != NULL) {
+ abr = (NOEUD *) malloc(sizeof(NOEUD));
+ abr = charge(abr, fich);
+ fclose(fich);
+ };
+ break;
+
+ case 'S':
+ printf("indiquer le nom de fichier pour la sauvegarde : ");
+ scanf("%s", nom_fich);
+ if ((fich = fopen(nom_fich, "wb")) != NULL) {
+ abr = sauve(abr, fich);
+ abr = NULL;
+ fclose(fich);
+ };
+ break;
+
+ case 'q':
+ exit(0);
+ }
+ printf("\n");
+ c = getchar();
+ }
+ while (1);