M1103-TP5 Exercice 1

Déclarerez une variable de type map < string, string >. La première chaine de caractères désigne un nom de famille, le second le prénom d’une personne.

Dans le main () :

  1. déclarer une map,
  2. insérer 4 éléments dans cette map,
  3. parcourez la map pour l’afficher.

M1103-TP5 Exercice 2

Ecrire le corps de la fonction InsertIntoMapIfNotExists () de signature :

void InsertIntoMapIfNotExists (map <string, string> & MyMap, const string & Nom, const string & prenom);

Cette fonction doit insérer dans la map le couple (nom, prenom) que si le nom n’est pas déjà présent.

Ecrire ensuite le corps de la fonction doublement générique ShowMap () de signature :

template <typename T, typename U>
void ShowMap (const map <T, U>& MyMap);

Modifier l’exercice 1 en conséquence.

M1103-TP5 Exercice 3 Pacman

Télécharger la correction du projet suivante : Correction_projet.

Modifier le fichier type.h en y ajoutant la struct suivante :
#include <map>

struct CMyParam {
std::map <std::string, char> MapParamChar;
std::map <std::string, unsigned> MapParamUnsigned;
std::map <std::string, std::string> MapParamString;
};

Puis ajouter le code suivant dans params.h :
#include “type.h”
void InitParams (CMyParam & Param);

Créer le fichier params.cpp dans le répertoire Correct_Prof et insérer le code suivant :
#include <string>
#include “params.h”
#include “game.h”

using namespace std;

void InitParams (CMyParam & Param)
{
//Move Keys
Param.MapParamChar[“KeyUp”] = ‘z’;
Param.MapParamChar[“KeyDown”] = ‘s’;

Param.MapParamChar[“TokenP1”] = ‘O’;
Param.MapParamChar[“TokenP2”] = ‘X’;

//Size of grid — suppose to be a rectangle
Param.MapParamUnsigned[“NbColumn”] = 10;

//Display Colors
Param.MapParamString[“ColorP1”] = KColor.find(“KRed”)->second ;

}

Modifier la fonction InitParams () de façon à spécifier les touches gauches et droite, ainsi que le nombre de lignes et la couleur du second joueur.

Dans game.cpp :
Ajouter l’appel à la fonction InitParams () dans ppal ().

Dans gridmanagement.cpp, modifier les fonction DisplayGrid () et InitGrid () pour prendre en compte la structure de données.

M1103-TP4 Exercice 1

Ecrire le corps de la fonction AffichVInt () de signature :

void AffichVInt (const vector <int> & VInt);

Rendre générique cette fonction en écrivant le corps de la fonction AffichVector () de signature :

template <typename T>
void AffichVector (const vector <T> & V);

Faites des tests avec différents vecteurs