En C++, je te propose une petite classe (sans doute perfectible) pour réaliser ta comparaison. Cette classe s'initialise avec une tableau de chaines (celles pour lesquelles la comparaison rend 'vrai'). Cette classe s'utilise avec l'opérateur ==. #include<set> #include<string> #include<algorithm> #include<iostream> using namespace std; // classe de comparaison avec plusieurs chaines struct multi_string_compare { // constructeur multi_string_compare( char const * liste_chaines[], int const & nombre_chaines ) : ensemble_chaines( liste_chaines, liste_chaines + nombre_chaines ) {} // opérateur de comparaison bool operator==( string const & str ) const { return ensemble_chaines.find(str) != ensemble_chaines.end(); } private: set<string> ensemble_chaines; }; int main() { int const n = 5; char const * liste[n] = { "bonjour","au revoir","bonsoir","merci","a bientot"}; multi_string_compare msc( liste, n ); // test #1 -> vrai cout << boolalpha << ( msc == "bonjour" ) << endl; // test #2 -> faux cout << boolalpha << ( msc == "adieu" ) << endl; } ... Cordialement, Xterminhate.
|