IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Nom de variables générés ?


Sujet :

C++

  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    157
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 157
    Par défaut Nom de variables générés ?
    Bonjour,

    Dans une boucle je lis un fichier de mots : 1 mot par ligne.
    Chaque mot est en fait un identifiant de compte de messagerie.

    Mon application doit interroger le serveur de messagerie pour chacun de ces comptes, dans le but de détecter l'arrivée de nouveaux messages. Si il y a des messages pour ce compte, alors je les affiche dans un tableau.
    Le but est d'afficher un tableau par compte de messagerie qui a recu des mails.

    J'ai donc un code qui suit l'algo suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    1) Lecture des comptes de messagerie (stockage dans un tablau)
    2) [BOUCLE] Pour chaque compte du tableau, contrôler l arrivée de nouveaux messages
         - Si il y a des nouveaux messages,
              - Créer un tableau
              - Remplir le tableau avec les données des messages
              - Afficher le tableau
    Je sais effectuer tout cela, y compris la gestion du tableau (déclaration, remplissage et affichage). Mon soucis c'est que je vais devoir faire appel à un nombre inconnu de tableaux car je ne connais pas le nombre de comptes de messageries.

    Je voudrais donc pouvoir déclarer un objet de type Tableau, qui a pour nom celui du compte lu.
    Cela donnerait quelquechose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Tableau * getCompteATraiter();
    getCompteATraiter()->add(...);
    getCompteATraiter()->show();
    getCompteATraiter() serait une fonction qui retournerait le nom du compte, sous forme de chaine de caractères.

    Je ne sais pas si je sis bien explicite .
    Si vous avez un conseil, une astuce ou une solution... Je suis preneur

    Merci !

  2. #2
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Utilise un tableau associatif, qui associe un nom à un tableau.

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    157
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 157
    Par défaut
    Heu... La classe Tableau dont je parle est une véritable classe .
    Elle gère les données à afficher via un Model, elle dispose d'une interface graphique de type Fenêtre, lignes, colonnes.

    Il ne s'agit donc pas d'un tableau de caractères ou autre structure de données classiques

  4. #4
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Et alors ?
    Ça ne change absolument rien.

  5. #5
    Membre émérite Avatar de mchk0123
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    816
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 816
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    void creer_comptes(std::map<char*, Tableau*> &m) {
      char nom[100];
      FILE *f;
     
      ...
      fgets(f, nom);
      ...
      m[nom] = new Tableau;
      ...
    }
     
    ...
     
    int main() {
      std::map<char*, Tableau*> comptes;
     
      creer_comptes(comptes);
     
      ...
    }

  6. #6
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    157
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 157
    Par défaut
    D'accord, je n'avais pas compris du tout .

    Merci beaucoup, je vais aller me renseigner un peu plus sur ce principe de tableau associatif !

  7. #7
    Membre Expert
    Avatar de Patriarch24
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 047
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    void creer_comptes(std::map<char*, Tableau*> &m) {
      char nom[100];
      FILE *f;
     
      ...
      fgets(f, nom);
      ...
      m[nom] = new Tableau;
      ...
    }
     
    ...
     
    int main() {
      std::map<char*, Tableau*> comptes;
     
      creer_comptes(comptes);
     
      ...
    }
    Ca c'est du C . Il faudrait remplacer char* par string, et FILE* par fstream.

  8. #8
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    std::map<std::string, Tableau> plutôt.
    Il n'y aucune raison de contenir des pointeurs vers des tableaux plutôt que des tableaux. D'ailleurs, contenir des pointeurs pose des problèmes au niveau gestion de la durée de vie, en particulier de la mémoire.
    Ensuite char* pour la clé n'utilisera pas l'operator< approprié.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 21/07/2014, 11h20
  2. Problème nom de fichier généré avec une variable
    Par matlabeginer dans le forum MATLAB
    Réponses: 3
    Dernier message: 09/04/2008, 12h03
  3. [SQL SERVER 2000] Noms de variables dynamiques
    Par cassoulet dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 08/09/2004, 11h44
  4. Nom de variable
    Par lilia dans le forum Flash
    Réponses: 4
    Dernier message: 07/08/2004, 13h11
  5. Generer des noms de variables avec une boucle
    Par moutanakid dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 28/07/2004, 17h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo