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 :

rechercher une chaine de caractere


Sujet :

C++

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 10
    Points : 12
    Points
    12
    Par défaut rechercher une chaine de caractere
    bonjour tout le monde je suis en train de développer une application de gestion de parc automobile en utilisant les vecteurs: vector<voiture>tab


    j'ai une premiere methode ajouter voiture qui va appeler la 2éme methode pour verifier si la voiture n'est pas déjà existante dans le vecteur en passant en parametre l'Immatriculation qui est de type string
    et c'est la que j'ai des erreurs de syntaxes dans les structures IF
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    void ajouter(voiture v){
    string a= recherche(v.getImmatricule());
    if((!a)&&(tab.size()<max)) // si la chaine n'existe pas et il y'a encore d'espace dans le tableau
     tab.push_back(v);
     
    if(a) // si a existe deja
    cout<<"voiture deja existante"; 
    }
    et une 2éme méthode rechercher:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    int recherche (string x){
     for (unsigned int i=0;i<tab.size();i++)
     {if (x == tab[i].getModel())
    	return i;
     }
    return(-1);
    }
    j'attends vos aides et merci d'avance

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Bonjour,
    Ta fonction int recherche (string x) dit qu'elle retourne un int, mais quand tu l'appelles, string a= recherche(v.getImmatricule());, tu utilises un std::string. N'y a-t-il pas un problème ?
    Tu appelles rechercher avec v.getImmatricule() et dans la fonction recherche tu utilises getModel(). Est-ce normal ? Une immatriculation est-elle vraiment égale à un modèle ?
    Enfin, il existe des fonctions de recherche dans la STL. Regardes donc ce tutoriel : Les algorithmes de la STL, par r0d.

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par 3DArchi Voir le message
    Bonjour,
    Ta fonction int recherche (string x) dit qu'elle retourne un int, mais quand tu l'appelles, string a= recherche(v.getImmatricule());, tu utilises un std::string. N'y a-t-il pas un problème ?
    Tu appelles rechercher avec v.getImmatricule() et dans la fonction recherche tu utilises getModel(). Est-ce normal ? Une immatriculation est-elle vraiment égale à un modèle ?
    Enfin, il existe des fonctions de recherche dans la STL. Regardes donc ce tutoriel : Les algorithmes de la STL, par r0d.
    la fonction de recherche qui prend en parametre un string x va parcourir le tableau pour trouver une correspondance entre ce dernier et les différents modèle des voitures existants dans le fichier:
    si il n'a pas trouver des voitures correspondants a ce modèle il va retourner -1

    s'il a trouvé une voiture il va me retourner l'indice de la case dans le tableau

    pour la 2éme partie ta raison c'est getImmatricule

    mon porbleme c'est comment dire si une chaine de caractère existe pour etre plus clair avec les entiers on fait comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if((a==-1) // c'est a dire lorsque on fait le parcours du tableau on pas trouver a
     tab.push_back(p); // alors on ajoute notre objet au tableau
    if(a!=(-1))// si on pas trouver a
    ....

Discussions similaires

  1. Rechercher une chaine de caractere
    Par saperlipopeye dans le forum Langage
    Réponses: 11
    Dernier message: 09/05/2011, 12h05
  2. Réponses: 7
    Dernier message: 10/03/2010, 12h28
  3. [OL-2003] Recherche une chaine de caractere dans l'objet du mail
    Par kompakt_74 dans le forum VBA Outlook
    Réponses: 2
    Dernier message: 26/06/2009, 11h31
  4. Réponses: 8
    Dernier message: 25/03/2008, 10h42

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