Re Bonjour,
Il y a une petite non conformité dans le commentaire :
> // Parcourt sytématique avec accés par l'opérateur []
> -
> -
> -
> // --- != de capacite()
Il faut rempalcer capacite() / capacity()
-------------------------------
Réponse au message :
-------------------------------
> Bonjour,
>
> Je te propose plusieurs manière d'accéder au champ nom
> et de parcourir le vector.
> Le plus simple est d'utiliser l'op [] comme pour un tableau
>
> // Parcourt sytématique avec accés par l'opérateur []
> trouve = false;
> for (int i=0; i<e.size(); i++)
> if(e[i].zone_nom=="AQW") trouve=true;
> // size() donne la taille, != de capacite()
>
>
> vector<enregistrement>::iterator itr;
> // itr se comporte comme un pointeur il faut utiliser
> // l'opérateur -> pour accéder à un membre de la structure
>
> // Parcourt systèmatique
> bool trouve = false;
> for(itr=e.begin(); itr<e.end(); itr++)
> if(itr->zone_nom=="Azerty") trouve=true;
>
> // Parcourir pour chercher tq pas trouvé ou pas arrivé à la Fin
> itr=e.begin();
> while((itr!=e.end()) && (itr->zone_nom!="AQW"))
> itr++;
>
>
> A+ et bonne prog C++
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> >
> > borgeomi
bonjouuuuuuur !!!!!> >
> > Merci beaucoup de votre réponse
> >
> > si je peux abuser
> >
> > J'ai créer un itérateur
> >
> > Vecteur::iterator courant_simple=e.begin();
> >
> > comment indicer e pour tester une zone quelconque par exemple nom ?
> >
> > while (courant_simple != e.end())
> >
> > {
> >
> > if e

.zone_nom== "Azerty" };
> >
> > ++ courant_simple;
> >
> > }
> >
> >
> > cordialement
> >
> > Michel BORGEOT
> >
> > e-mail : borgeomi@cic.fr
> >
> >
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Dans ton source tu crées un vectror vide.
> > > Pour voir quelque chose il faut le remplir.
> > > Pour accéder au champ nom du l'enregistrement n du vector tu accédes par : e[n].zone_nom.
> > >
> > > Ci-dessous tu as un exemple de source qui farci le vector et surcharge << pour faire un affichage propre.
> > >
> > > //------------------------------------
> > > #include <string>
> > > #include <vector>
> > > #include <iostream>
> > >
> > > using namespace std;
> > >
> > > struct enregistrement
> > > {
> > > string zone_date;
> > > string zone_montant;
> > > string zone_nom;
> > > };
> > >
> > > // Surcharge de l'opérateur<< pour écrire "enregistrement"
> > > ostream &operator<< (ostream &fluxS, enregistrement &enrg) {
> > > fluxS<<enrg.zone_date<<" ";
> > > fluxS<<enrg.zone_montant<<" ";
> > > fluxS<<enrg.zone_nom<<" ";
> > > return fluxS;
> > > }
> > >
> > >
> > > typedef vector<enregistrement> Vecteur;
> > >
> > > int main(void){
> > > // Définit un vector avec 2 enregistrements
> > > Vecteur e(2);
> > >
> > > enregistrement var;
> > > var.zone_date="05.03.2003";
> > > var.zone_montant="55555";
> > > var.zone_nom="AQW";
> > > // Renseigne le 1er enregistrement
> > > e[0].zone_date="05.03.2003";
> > > e[0].zone_montant="888";
> > > e[0].zone_nom= "Azerty";
> > > // Ajoute un enregistrement en faisant grossir le vector
> > > e.push_back(var);
> > > // affiche e[0], le 1er
> > > cout<<e[0]<<endl;
> > > // affiche e[2], le dernier
> > > cout<<*(e.end()-1)<<endl;
> > > return 0;
> > > }
> > >
> > >
> > >
> > > Sur vector tu peux voir
> > > http://www.cppfrance.com/article.aspx?Val=1331
> >
>