R1.01 – PROG#13 – Exercice 3 NumberCrush

R1.01 – PROG#13 – Exercice 3 Pacman

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

Modifier le fichier main.cpp en y ajoutant la struct suivante :
#include <map >
struct CMyParam {
std::map <std::string, char> mapParamChar;
std::map <std::string, unsigned> mapParamUnsigned;
};

Puis ajouter le code suivant dans main.cpp :

void initParams (CMyParam & param)
{
//touche du joueur
Param.mapParamChar[“toucheHaut”] = ‘z’;
Param.mapParamChar[“toucheGauche”] = ‘q’;

//taille de la grille - on suppose que c'est un rectangle
param.mapParamUnsigned[“nbColonnes”] = 10;

}

Modifier la fonction initParams () de façon à spécifier les touches gauches et droite, et le nombre de lignes.

Ajouter l’appel à la fonction initParams () dans ppal ().

Dans main.cpp, modifier la fonction initMat () pour prendre en compte la structure de données.

R1.01 – PROG#13 – 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.

R1.01 – PROG#13 – 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);

Quelles sont les spécifications de cette nouvelle fonction ?

Modifier l’exercice 1 en conséquence.