En c++
mec o feminin
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour,
en faite j'ai un souci de comparaison de chaine de caractères en c++
voilà j'ai la chaine de caractère "PARIS" que je dois comparer à une liste de 19 villes qui pour certaines comporte "paris", et ces villes sont: "MARSEILLE", "PARIS", "LYON", "TOULOUSE", " NICE", "STRASBOURG", "NANTES", "MONTPELLIER", "BORDEAUX", "RENNES", "SEYSSINET PARISET", "DAMPARIS", "LE TOUQUET PARIS PLAGE", "PARIS L HOPlTAL", "VILLEPARISIS", "PARISOT", "CORMEILLES EN PARISIS", "FONTENAY EN PARISIS"
Donc moi à la base je suis partie sur la création de fonction mais je bloque sur la partie comparaison de chaque ville avec Paris
struct Tri
{
string nouvelle_ville;
};
Tri tri_ville[18];
void tri (int b)
{
string Nom;
int x;
cout<<"Entrez la ville: " <<endl;
cin>> Nom;
for(x = 0; x <= b; x++)
{
if(Nom == tri_ville[x].nouvelle_ville)
{
cout<< "Les villes correspondantes a votre demande sont:" <<endl;
cout <<tri_ville[x].nouvelle_ville ;
}
}
}
il faut que la programme renvoie toutes les villes comportant qui comporte paris quand l'utilisateur entre "Paris".
Merci d'avance!
en faite j'ai un souci de comparaison de chaine de caractères en c++
voilà j'ai la chaine de caractère "PARIS" que je dois comparer à une liste de 19 villes qui pour certaines comporte "paris", et ces villes sont: "MARSEILLE", "PARIS", "LYON", "TOULOUSE", " NICE", "STRASBOURG", "NANTES", "MONTPELLIER", "BORDEAUX", "RENNES", "SEYSSINET PARISET", "DAMPARIS", "LE TOUQUET PARIS PLAGE", "PARIS L HOPlTAL", "VILLEPARISIS", "PARISOT", "CORMEILLES EN PARISIS", "FONTENAY EN PARISIS"
Donc moi à la base je suis partie sur la création de fonction mais je bloque sur la partie comparaison de chaque ville avec Paris
struct Tri
{
string nouvelle_ville;
};
Tri tri_ville[18];
void tri (int b)
{
string Nom;
int x;
cout<<"Entrez la ville: " <<endl;
cin>> Nom;
for(x = 0; x <= b; x++)
{
if(Nom == tri_ville[x].nouvelle_ville)
{
cout<< "Les villes correspondantes a votre demande sont:" <<endl;
cout <<tri_ville[x].nouvelle_ville ;
}
}
}
il faut que la programme renvoie toutes les villes comportant qui comporte paris quand l'utilisateur entre "Paris".
Merci d'avance!
2 réponses
-
Pour comparer deux string il faut utiliser string::compare, pas l'opérateur ==
La confiance n'exclut pas le contrôle -
Salut.
on peut tout à fait utiliser l'opérateur == si on veux, il est défini.
En fait, tu ne cherches pas à comparer 2 chaines, mais à savoir si l'une contient l'autre. J'utiliserai "find" :if(tri_ville[x].nouvelle_ville.find(Nom)!=std::string::npos)