#include #include #include #include using namespace std; // Pour la comparaison des clés (ce code est celui // proposé sur le site de sgi). struct ltstr { bool operator () (string s1, string s2) const { return(s1>s2 ); } }; int main(void) { map action; action[ "ajouter" ] = 1; action[ "afficher" ] = 2; action[ "supprimer" ] = 3; action[ "quitter" ] = 0; // Pour stocker le choix de l'utilisateur, on utilise // une variable qui stocke le choix sous forme de chaine, // et une autre qui le convertit en entier. string choix_string; int choix_int; while( choix_int != 0 ) { for( map::iterator i = action.begin(); i != action.end() ; i++ ) cout << ">" << i->first << "\n"; // Entrée du choix par l'utilisateur cout << "Votre choix > "; cin >> choix_string; cout << "\n>Choix n."; // Est-ce que ce choix est valide ? if( action.find( choix_string ) == action.end() ) { cout << "Choix invalide\n"; continue; } // Oui ! choix_int = action[ choix_string ]; cout << choix_int << " : " << action[ choix_string ] << "\n"; switch( choix_int ) { case 0: cout << "On quitte\n"; // ... Votre code ... break; case 1: cout << "On ajoute\n"; // ... Votre code ... break; case 2: cout << "On affiche\n"; // ... Votre code ... break; case 3: cout << "On supprime\n"; // ... Votre code ... break; default: cout << "Choix inconnu\n"; } } }