Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1032 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  aidez moi svp

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

aidez moi svp

n°2225390
ameni123
Posté le 17-04-2014 à 17:01:27  profilanswer
 


Développer une classe abr pour gérer un arbre binaire de recherche.
-méthodes à implémenter  
    +constructeur
    +insertion
    +création
    +suppression
    +sauvegarde dans un fichier
    +chargement à partir fichier (constructeur)
    +affichage
    +recherche élément
Expl :
Main ()
{
abr a;
abr b(‘’personne.txt’’);
b.view ();
a.creer ();
a.delete (1350)
}

mood
Publicité
Posté le 17-04-2014 à 17:01:27  profilanswer
 

n°2225391
honrisse
Posté le 17-04-2014 à 17:08:13  profilanswer
 

ameni123 a écrit :


Développer une classe abr pour gérer un arbre binaire de recherche.
-méthodes à implémenter  
    +constructeur
    +insertion
    +création
    +suppression
    +sauvegarde dans un fichier
    +chargement à partir fichier (constructeur)
    +affichage
    +recherche élément
Expl :
Main ()
{
abr a;
abr b(‘’personne.txt’’);
b.view ();
a.creer ();
a.delete (1350)
}


 

Citation :

[0A.1] Certaines questions simples peuveut se résoudre via une simple recherche.
 
    Sur Google : http://www.google.com ou http://groups.google.com.
    N'oubliez pas non plus de consulter la documentation accompagnant votre environnement de développement/compilateur.  
 
 
[0C] On ne fait pas le boulot à votre place.
 
    Les demandes du style "vous pouvez faire un programme faisant [...] pour moi ?" sont assez mal vues et ne sont pas dans l'esprit de la catégorie. Le but de la catégorie étant de vous aider dans vos problèmes de programmation, toute demande de travail tout fait sera modérée.
    Les offres d'emploi et recrutements doivent être postées sur Emploi & Études, même si elles concernent des jobs de programmation.
    Les demandes de bénévolat, ou les demandes de features "rémunérées" (sans être dans le cadre d'un emploi) seront modérées car hors-sujet : cela ne concerne que de loin la programmation en elle-même. Si vous cherchez du monde pour votre dernière meilleure idée de projet, le plus simple est de le mettre en signature et de participer normalement au forum, la notoriété étant la meilleure des publicités (note : notoriété != spam).  
 
 
[0D] De la même manière, les demandes de résolutions d'exercices ne seront pas acceptées
 
    Du moins, s'il s'agit d'une demande de solution toute faite, sans effort manifeste du côté du demandeur. Cette décision a été prise étant donné le nombre croissant de ce type de demandes lors des périodes de reprise des cours ou d'approche des périodes d'examens.
    Merci aux membres du forum de ne pas donner des résolutions d'exercice lorsqu'il est clair que le demandeur n'a rien fait de son côté ;)

n°2225392
theshockwa​ve
I work at a firm named Koslow
Posté le 17-04-2014 à 17:08:36  profilanswer
 

et tu as fait quoi ?


---------------
last.fm
n°2225394
ameni123
Posté le 17-04-2014 à 17:09:40  profilanswer
 

merci :)

n°2225436
ameni123
Posté le 17-04-2014 à 23:19:24  profilanswer
 

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
using namespace std;
class data
{
private:
    int cle;
    char nom[20];
    char prenom[30];
    char ville[20];
public:
    void set_data_cle(int l_cle)
    {
      cle=l_cle;
    };
    void set_data_nom(char * l_nom)
    {
      strcpy(nom,l_nom);
    };
    void set_data_prenom(char *l_prenom)
    {
      strcpy(prenom,l_prenom);
    };
    void set_data_ville(char *l_ville)
    {
       strcpy(ville,l_ville);
    };
    int get_data_cle()
    {
      return(cle);
    };
    char *get_data_nom()
    {
        return(nom);
    };
    char *get_data_prenom()
    {
        return(prenom);
    };
    char *get_data_ville()
    {
        return(ville);
    };
    static int lire_data(data &l_d)
    {
        cout<< "cle:";
        cin>> l_d.cle;
        if(l_d.cle==-1) return(0);
        cout<< "nom:";
        cin>> l_d.nom;
        cout<< "prenom:";
        cin>> l_d.prenom;
        cout<< "ville:";
        cin>>l_d.ville;
        return(1);
    }
    void print_data()
    {
     cout<< "\ncle=**"<<cle;
     cout<< "\nnom=**"<<nom;
     cout<< "\nprenom=**"<<prenom;
     cout<< "\nville=**"<<ville;
    }
 
};
 
class noeud
{
private :
    data d;
    noeud *gauche;
    noeud *droite;
public:
    noeud(data l_d)
    {
        d.set_data_cle(l_d.get_data_cle());
        d.set_data_nom(l_d.get_data_nom());
        d.set_data_prenom(l_d.get_data_prenom());
        d.set_data_ville(l_d.get_data_ville());
        gauche=droite=NULL;
    }
    friend class abr;
    friend void affiche_abr(noeud *);
    friend void chargement(FILE*fp,noeud *n);
};
 
class abr
{
private:
    noeud *racine;
public:
    abr()
    {
        racine=NULL;
    }
 
 
    void insert_abr(data );
    void creer_abr();
    noeud *seek_abr(int );
    void save_abr(char*);
    abr(char*);
    void view_abr();
    void delete_abr(data );
 
 
};
 
void abr::insert_abr(data l_d)
{
    noeud **p;
    p=&racine;
    while(*p)
    {
        if(((*p)->d).get_data_cle()==l_d.get_data_cle())
            exit(0);
        else
        {
            if(((*p)->d).get_data_cle()<l_d.get_data_cle())
                p=&((*p)->droite);
            else p=&((*p)->gauche);
        }
 
 
    }
    *p=new noeud(l_d);
}
 
void abr::creer_abr()
{
    data l_d;
    while(data::lire_data(l_d))
        insert_abr(l_d);
};
 
void abr::view_abr()
{
  affiche_abr(racine);
}
void affiche_abr(noeud *n )
{
 if(n)
 {
     affiche_abr(n->gauche);
     (n->d).print_data();
     affiche_abr(n->droite);
 }
 
}
 
noeud *abr::seek_abr(int key )
{   noeud *p=racine;
    while(p)
    {
        if((p->d).get_data_cle()==key)
        {cout<<"le voila";(p->d).print_data();
         return(p);
        }
 
        else if((p->d).get_data_cle()<key)
            p=p->droite;
        else p=p->gauche;
    }
    return(NULL);
};
 
 abr::abr(char *name)
{
 FILE *fp;int l_cle; char l_nom[10],l_prenom[10],l_ville[10],s[100];data l_d;
 racine=NULL;
 if (!(fp=fopen(name,"r" ))) cout<<"probleme d'ouverture";
 else
 {
     cout<<"ouverture reussite";
     rewind(fp);
     while(fgets(s,100,fp))
     {
         sscanf(s,"%3d%10s%10s%10s",&l_cle,l_nom,l_prenom,l_ville);
         l_d.set_data_cle(l_cle);
         l_d.set_data_nom(l_nom);
         l_d.set_data_prenom(l_prenom);
         l_d.set_data_ville(l_ville);
         insert_abr(l_d);
 
         cout<<"hello";
     };
     fclose(fp);
 }
};
void abr::save_abr(char*name)
{FILE *fp;
if (!(fp=fopen(name,"w+" ))) cout<<"probleme d'ouverture";
 else
 {
  chargement(fp,racine) ;
 };
 fclose(fp);
};
 
 
void chargement(FILE*fp,noeud *n)
{
    if(n)
    {
        chargement(fp,n->gauche);
        fprintf(fp,"%3d%10s%10s%10s",(n->d).get_data_cle(),(n->d).get_data_nom(),(n->d).get_data_prenom(),(n->d).get_data_ville());
        chargement(fp,n->droite);
    }
}
 
int main()
{  abr a;
a.creer_abr();
a.save_abr("jiji.txt" );
}


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  aidez moi svp

 

Sujets relatifs
aidez moi svp urgentaidez moi svp probleme php vers word
Android ! aidez moi !J'aimerais créer une fonction bien spéciale aidez-moi un peu svp ;)
Aidez moiiaidez moi svp
help me plz, aidez moi svppouvez vous m'aidez a crée un programme en C
aidez moiaidez moi svp dans la compréhension de ce code
Plus de sujets relatifs à : aidez moi svp


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR